Собственно, пример из книжки, и пример банальный - программа должна скопировать текст из одного файла в другой. При компиляции через gcc ни одного предупреждения, или чего-то подобного. Но потом в терминале при запуске «Ошибка сегментирования».
#include "stdafx.h"
#include "stdlib.h"
void err(int e);
int main(int argc, char*argv[])
{
FILE *in, *out;
char *ch,line[255];
if (argc!=3) {
printf("You should select input and output files. \n");
exit(1);
}
if ((in=fopen(argv[1], "r"))==NULL) {
printf("Unable to open user`s file for reading %s. \n", argv[1]);
exit(1);
}
if ((out=fopen(argv[2], "w"))==NULL) {
printf("Unable to open user`s file for writing %s. \n", argv[2]);
exit(1);
}
do {
ch=fgets(line,sizeof(line),in);
fputs(ch,out);
} while(!feof(in));
fclose(in);
fclose(out);
return 0;
}