Доброго дня! Как добавить всю строку в конец файла? На данный момент программа считает до первого пробела в передаваемой строке
Проблема во второй части программы, а именно в строке fprinf(); Почему-то она не записывает в файл полностью строку со всеми пробелами. Она записывает первое слово до пробела, а потом исполняется заново, с новой строки записывает второе слово и так обрабатывает каждый пробел? а нужно просто добавить строку в конец файла с новой строки.
#include <stdio.h>
// void read_file();
int main() {
int a;
char file_name[300];
char ch;
FILE *file;
char text[300];
while (a != -1) {
scanf("%d", &a);
if (a == 1) {
scanf("%s", file_name);
file = fopen(file_name, "r");
if (file == NULL) {
printf("n/a\n");
} else {
ch = fgetc(file);
if (ch != EOF) {
while (ch != EOF) {
putchar(ch);
ch = fgetc(file);
}
printf("\n");
} else {
printf("n/a\n");
}
}
fclose(file);
}
if (a == 2) {
file = fopen(file_name, "r");
if (file == NULL) {
printf("n/a\n");
fclose(file);
continue;
}
file = fopen(file_name, "a+");
scanf("%s", text);
fprintf(file, "\n%s", text);
fclose(file);
file = fopen(file_name, "r");
ch = fgetc(file);
if (ch != EOF) {
while (ch != EOF) {
putchar(ch);
ch = fgetc(file);
}
fclose(file);
printf("\n");
}
}
}
}