printf("Batch Mode\n");
FILE* batchFile;
char oneLine[LINE_MAX];
batchFile = fopen(argv[1], "r");
bool done = false;
if(batchFile == NULL)
{
perror("File");
exit(1);
}
while (fgets(oneLine,LIMIT,batchFile) != NULL && !done)
{
processLine(oneLine, done);
}
Поэтому у меня есть некоторые сомнения относительно моего кода выше. Проблема в том, что fgets все равно получает строки, даже если строки просто содержат символ новой строки. Поэтому мне нужно устранить это или, по крайней мере, проверить строки, содержащие только новую строку.Как проверить, когда fgets возвращает пустую строку?
Я попытался
if (strcpy(line, '\n') == 0)
{
printf("an Enter key line\n");
return;
}
Но до сих пор она не работает.
код с 'зЬгсру()' не должен был скомпилирован. Если это так, вы либо игнорируете предупреждения компилятора, либо не используете их достаточно. Если у вас включен '', код должен быть отклонен компилятором. –
А также ничего в этом коде не изменяет 'done' после инициализации' false'. –