Вывести несколько слов с пробелами в файл
На ввод в консоль подается несколько слов через пробел. Нужно вывести эти слова в файл. И записать их в выходной файл. У меня эта функция записывает в выходной файл только первое слово. что я делаю не так?
void write_to_the_endfile(char* path_in) {
FILE* in = NULL;
char newstr[1000];
printf("путь = %s\n", path_in);
if ((in = fopen(path_in, "r+")) == NULL) {
printf("файла не существет");
printf(" puty nulevoy n/a\n");
fclose(in);
} else {
fseek(in, 0L, SEEK_END);
printf("Введите новую строку: ");
fscanf(stdin, "%s", newstr);
printf("новая строка: %s\n", newstr);
fputs(newstr, in);
/* вторая попытка реализации
while (newstr[0] != '\n') {
fscanf(stdin, "%s", newstr);
printf("новая строка: %s\n", newstr);
fputs(newstr, in);
}*/
fclose(in);
}
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Это -
fscanf(stdin, "%s", newstr);
чтение одного слова. Для чтения строки следует использовать функцию
fgets(newstr,1000,stdin);