Вывести несколько слов с пробелами в файл

На ввод в консоль подается несколько слов через пробел. Нужно вывести эти слова в файл. И записать их в выходной файл. У меня эта функция записывает в выходной файл только первое слово. что я делаю не так?

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);
→ Ссылка