#include <stdio.h>
#define MAX 1000
int line_counter (FILE *file, char buf[]);
int main(int argc, char *argv[]) {
FILE *ptr_file;
char buf[MAX];
ptr_file = fopen("alice-eg.txt", "r");
if (!ptr_file) {
return 1;
}
int count = 0;
while (fscanf(ptr_file, "%s", buf) == 1) {
printf("%s", buf);
if (buf == '\n') {
return count;
}
else {
count += 1;
}
}
printf("The number of words in this line is: %d", count);
return 0;
}
Я хочу сделать что-то вдоль линий этого, но я понятия не имею, как сделать его работу как ЬеЕ это просто указатель на массив букв (правильно если я ошибаюсь, я только начал с C, и мое понимание указателей по-прежнему очень плохое).Как позволить fscanf прекратить чтение после новой линии
почему бы fscanf читать символы? Я думал, что это слова читателя в каждом предложении? – YellowPillow
Потому что вы дали ему «% s» означает одну строку, которую вы даете ей «% s% s», она разделит строку в первом пространстве и вернет 2 строки, но для этого вам нужно написать fscanf (ptr_file, «% s% s ", str1, str2), пожалуйста, прочитайте документы fscanf. –