gpt4 book ai didi

c++ - 打印通过标准输入输入的整个字符串

转载 作者:行者123 更新时间:2023-11-30 02:02:15 24 4
gpt4 key购买 nike

为什么同一个程序在通过不同方法给出输入时会给出不同的输出?

程序 1:

int main(){
char s[10];
cout << "Enter a String\n";
cin >> s;
cout << "The entered String is\n";
cout << s << "\n";
return 0;
}

当我通过命令行“Hello World”输入时,我得到的输出只是“Hello”

程序 2:

int main(){
char s[] = "Hello World";
cout << "The entered String is\n";
cout << s << "\n";
return 0;
}

在这种情况下,我得到了“Hello World”的输出。

这两个程序有什么区别?逻辑是一样的吗?如何在命令行输入时获取整个字符串"Hello World"?有办法吗?

最佳答案

使用getline() :

string s;
getline(cin, s);
cout << "The entered String is\n";
cout << s << "\n";

您的代码存在的问题是输入流提取运算符 >>> 仅获取下一个空格之前的字符(因此,只有一个“单词”)。 getline() 函数获取整行。

关于c++ - 打印通过标准输入输入的整个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13462534/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com