将句子输入C ++

时间:2019-03-27 20:45:29

标签: c++ arrays string input char

如何获取包含空格的用户输入。

我尝试这样做:

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

但是当我进入 你好,世界 它只会返回 你好

3 个答案:

答案 0 :(得分:5)

使用fgets()(具有缓冲区溢出保护)将您的输入输入字符串。

printf("Enter a sentance: ");
fgets(st, 256, stdin);
printf("%s", st);

答案 1 :(得分:4)

scanfcin >> someString一样一直读到第一个空格。假设您可以使用<iostream><string>,那么您想要的是

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

这将获得所有输入,直到用户点击Enter(\ n)。

答案 2 :(得分:1)

尝试这样:

#include <iostream>
#include <string>

int main() {
    std::string st;
    std::cout << "Enter a sentence: ";
    getline(std::cin, st);
    std::cout<< st;
}