Введите предложение в C ++ - PullRequest
1 голос
/ 27 марта 2019

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

Я пытался сделать это:

printf("Enter a sentance: ");
scanf("%s", st);
    getchar();
printf("%s", st);

Но когда я вхожу Привет, мир это только возвращает Привет

Ответы [ 3 ]

5 голосов
/ 27 марта 2019

Используйте fgets () (которая имеет защиту от переполнения буфера), чтобы получить ваш ввод в строку.

printf("Enter a sentance: ");
fgets(st, 256, stdin);
printf("%s", st);
4 голосов
/ 27 марта 2019

scanf читает только до первого пробела, как и cin >> someString.То, что вы хотите, при условии, что вы можете использовать <iostream> и <string>, это

std::string str;
std::getline(std::cin, str);

Это будет вводить весь ввод, пока пользователь не нажмет enter (\ n).

1 голос
/ 28 марта 2019

Попробуй так:

#include <iostream>
#include <string>

int main() {
    std::string st;
    std::cout << "Enter a sentence: ";
    getline(std::cin, st);
    std::cout<< st;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...