Нужна тривиальная решенная задача с использыванием командной строки - C (СИ)
Формулировка задачи:
Есть пример:
данная программа берет файл text.txt и с помощью qsort сортирует сохраняя его в text2.txt
как сделать так что бы параметры этой функции "int main(int argc,char *argv[])" использывались?
Можно привести свои примеры программ которые работают с командной строкой..
Вообщем научите меня работать с командной строкой? Я не понимаю(.
Буду очень признателен
Листинг программы
- # include <stdio.h>
- # include <string.h>
- # include <stdlib.h>
- # define N 20
- # define M 256
- char * chomp(char *str)
- {
- if(str[strlen(str)-1]=='\n')
- str[strlen(str)-1]=0;
- return 0;
- }
- int compare(const void *a, const void *b)
- {
- if(strlen(*(char**)a) > (strlen(*(char**)b)))
- return 1;
- else
- return -1;
- }
- int main(int argc,char *argv[])
- {
- char *p[N], str[N][M];
- int i=0,j=0;
- FILE *fin,*fout;
- fin=fopen("text.txt","rt");
- fout=fopen("text2.txt","wt");
- if(!fin||!fout) {
- printf("Error! (I can't open text.txt)\n");
- return 1;
- }
- while(fgets(str[i],M,fin)) {
- chomp (str[i]);
- p[i]=str[i++];
- }
- qsort(p,i,sizeof(char*),compare);
- for(j;j<i;j++)
- fprintf(fout,"%s\n",p[j]);
- fclose(fin);
- fclose(fout);
- return 0;
- }
Решение задачи: «Нужна тривиальная решенная задача с использыванием командной строки»
textual
Листинг программы
- if ( argc != 3 )
- {
- fprintf(stderr, "%s: error arg\n", argv[0]);
- exit(1);
- }
Объяснение кода листинга программы
- Проверка количества аргументов в командной строке.
- Если количество аргументов не равно 3, то выводится сообщение об ошибке.
- Выход из программы с кодом ошибки 1.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д