Если вы хотите загрузить целую строку текста, включая пробелы, вам, вероятно, лучше использовать fgets
вместо fscanf
.
char* fgets (char* stringBuffer, int numberOfCharacters, FILE* fileStream);
fgets
продолжит чтениепока не будет выполнено одно из следующих условий:
- Достигнута новая строка
- Достигнут конец файла
- Достигнуто количество символов (минус один)
Используя 20-символьный буфер строк в вашем примере, вы можете использовать что-то вроде этого:
while (fgets(input, 20, rFile)) {
printf("%s", input);
}
Тем не менее, решение junjanes, вероятно, все еще лучше подходит для вашей конкретной задачи.