Я хочу ввести имя файла, а затем отобразить содержимое файла (содержит строки чисел). Код, который я использовал это:Как распечатать содержимое из файла
#include <stdio.h>
#include <stdlib.h>
void main(int argc,char *argv[])
{
FILE *file;
file = fopen(argv[1],"r");
char line[100];
while(!feof(file)){
fgets(line,100,file);
puts(line);
}
fclose(file);
}
Когда я пытаюсь запустить программу в кодовых блоков, это просто сбой программы. Я попробовал работать в Xcode, и я получаю сообщение «Ошибка сегментации»: 11, а затем программа просто завершает работу. Кто-то может помочь?
Хорошо, так что я пытался делать это по-другому, но до сих пор никакого успеха:
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
int main(int argc,char *argv[])
{
FILE *file;
char line[100];
file = fopen(argv[1],"r");
do {
char c = fgetc(file);
if (c == EOF) break;
memset(line,0,100);
while ((c != '\n') && (c != EOF)) {
c = fgetc(file);
}
printf("%s",line);
} while (true);
fclose(file);
}
Распечатайте 'argc', чтобы убедиться, что вы получаете все аргументы, которые вы надеетесь получить. –
['while (! Feof (file))' is ** ALWAYS wrong! **] (http://stackoverflow.com/questions/5431941/while-feof-file-is-always-wrong) –