Нужна тривиальная решенная задача с использыванием командной строки - 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.