Я запутался в инструкции if else. Мой исходный код способен fscan данные из txt-файла и успешно выполнить печать.установка условия if else для фильтрации данных
Следующим шагом, который я хотел бы сделать, является установка инструкции if else, если src находится между 1-1024 и записывает эту строку в другой файл txt, если более 1024 он должен записать в другой файл txt.
Я пытался комбинировать оба кода ниже, но не смог заставить его работать.
do {
test = fscanf(inFile, "%d:%d:%d:%d:", &src, &dest, &type, &port);//read line from file
fgets(data, 100, inFile);
printf("%d %d %d %d %s", src, dest, type, port, data);
} while (test != EOF);
if (src >= 1 && src <= 1024){
FILE *outFile = fopen("data_1.txt", "w");
fprintf(outFile, "%d %d %d %d %s", "data_1.txt");
//outFile = cfopen("data_1.txt", "w"); //Open file for writing
//fprintf("%d %d %d %d %s", src, dest, type, port, data);
}
else {
fclose(outFile);//must always close file once done
}
fclose(outFile);
fclose(inFile); //must always close file once done
return 0;
}
если 'printf' в выходной rountine быть' fprintf (outFile и т. д.) '? в противном случае вы выводите на stdio, а не в data_1.txt. –
Почему вы называете 'fscanf', а затем' fgets'? из того же указателя файла? Достаточно ли одного или другого? –
@Mike да, мне нужно будет изменить эту часть printf –