Я пытался найти похожую проблему, но не смог ее найти, поэтому я публикую это.Вот вещьДопустим, у меня есть файл с именем text.txt.Теперь файл состоит из 3 целых чисел и строки, что-то вроде этого:
4 59 32 This is sentence 1
5 9 130 Grass is green
3 12 149 I need help
Я все еще изучаю C, поэтому извините, если это простой вопрос типа и т. Д. Вот проблема.Я не знаю, как это читать.То же самое, если строка находится в начале файла, как этот
This is sentence 1 4 59 32
Grass is green 5 9 130
I need help 3 12 149
Я знаю, как его прочитать, если знаю количество слов, из которых оно будет состоять (например, если файл будет выглядеть примерно так:Имя Фамилия Номер Номер Номер) но это когда мне нужно прочитать целиком, я понятия не имею.
Вот код из комментариев.Однако, как указал @john, это неверно с самого начала, так как я получаю первый символ, а затем я делаю scanf (тем не менее, я попробовал и, учитывая только числа, fscanf получает правильные значения, даже если первый символ читается).Я также думал о некотором цикле while с участием isalpha () и isspace (), но безрезультатно.
while((i = fgetc(input)) != (int)(EOF))
{
fscanf(inputFile, "%d %d %d", &num1, &num2, &num3);
j=0;
while(i != (int)('\n'))
{
string[j++]=(char)i;
i = fgetc(inputFile);
}
string[j] = '\0';
printf("%d %d %d %s\n",br1, br2, br3, string);