argv [0] - имя вашего исполняемого файла; Я не думаю, что вы хотите читать из этого! Скорее, я думаю, что вы хотите открыть argv [1] (имя файла, указанное в качестве первого аргумента вашей программы в командной строке) и прочитать , что :
int main(int argc,char *argv[])
{
char *text;
int textLen,repNum;
FILE *theinput;
if (argc < 2) {
/* no argument */
/* give error message and exit */
fprintf(stderr, "Must pass an argument!\n");
exit(1);
}
theinput = fopen(argv[1], "r");
if (!theinput) {
/* Argument is non-existing file */
/* give error message and exit */
fprintf(stderr, "Can't read %s\n", argv[1]);
exit(1);
}
text = stream2string(theinput, &textLen);
fclose(theinput);
и т.д.. (Конечно, вы можете и должны предоставлять более подробные и полезные сообщения об ошибках и т. Д., И т. Д., Но я пытаюсь сосредоточиться на ключевых моментах, которые, как вам показалось, отсутствуют).
Редактировать : ну хорошо, фокус кажется не в моде, судя по комментариям, поэтому я только что отредактировал
предоставлять минимально приемлемые сообщения об ошибках.