Хранение строки слов в структуре данных - PullRequest
0 голосов
/ 24 августа 2018

Я хочу создать программу, которая получает некоторые входные слова от пользователя, сохраняет входные данные в структуре данных и затем печатает структуру данных в текстовом файле.

Сейчас я построил только ту часть, где он получает некоторые входные данные и сохраняет их в структуре данных, а затем добавил printf для печати структуры данных, просто для тестирования.

Проблема в том, что если я введу «test_one» на char «one», он выведет «test_one», но если я введу «test one», он напечатает только «test». Как я могу отредактировать его так, чтобы в нем хранились целые слова вместо одного? Могу ли я сделать это с помощью указателей?

#include <stdio.h>

struct inputs {
   char one[30];
   char two[30];
   char three[30];     
};

int main(void)
{  

   struct inputs inputs = {"", "", ""};
   scanf("%s%s%s", inputs.one, inputs.two, inputs.three);

   printf("\n%s;%s;%s\n", inputs.one, inputs.two, inputs.three);


   } 
} 

1 Ответ

0 голосов
/ 24 августа 2018

scanf со стандартным "% s" будет считывать ввод только до тех пор, пока он не достигнет пробела. Попробуйте это прочитать до новой строки:

scanf("%[^\n]s", inputs.one);
scanf("%[^\n]s", inputs.two);
scanf("%[^\n]s", inputs.three);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...