在c++中使用带空格的字符串
taking strings with whitespaces in c++
#include<iostream>
using namespace std;
int main()
{
string p;
int n,i;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>p;
cout<<p<<"n";
}
return 0;
}
嗨。。我想取两个字符串,然后按照程序一个接一个地打印出来。但是当我取n=2并输入字符串"i want go"时
它给出的输出是:
i
wanna
它没有要求我提供第二个字符串。它一直在获取字符串,直到它出现空白。我该怎么办才能解决这个问题?
您必须将for语句中迭代变量i的初始值更改为以下值:
for(i=0;i<=n;i++)
考虑使用std::getline。
std::string name;
std::getline(std::cin, name);
以上示例总结自:std::用空格输入cin?
应该使用函数std::getline
而不是operator >>
。例如
#include <iostream>
#include <limits>
int main()
{
int n;
std::cin >> n;
std::cin.ignore( std::numeric_limits<std::streamsize>::max() );
// or simply std::cin.ignore();
for ( int i = 1; i <= n; i++ )
{
std::string p;
std::getline( std::cin, p );
std::cout << p << "n";
}
return 0;
}
相关文章:
- 为字符串中每 N 个字符插入空格的函数没有按照我认为的方式工作?
- 移除前面有空格的前2个字符串
- 用于存储由空格分隔的字符串的 C++/C 数据结构
- 在字符串中插入空格
- C ++中的StringStream有助于使用向量从字符串中提取逗号分隔的整数,而不是空格分隔的整数,为什么?
- 使用另一个字符串从字符串中删除空格
- 我还可以添加什么来按空格或空格正确拆分C++字符串?
- C++ "noskipws"没有按预期工作,如何正确允许字符串中的空格?
- 在 c++ 中逐行阅读字符串,不要以空格停止
- std::regex:匹配由数字和空格组成的字符串,并提取数字.如何?
- 如何存储包含多个空格的字符串 c++
- 在特定位置为字符串添加空格
- 有没有办法在 c++ 中获取带有空格的完整字符串?
- C++完全复制要字符串的字符列表,而不会忽略多个空格
- Winsock2:当我尝试发送带有空格的字符串时,该函数在遇到空格时似乎停止发送
- 从没有空格的字符串中提取整数
- 用于拆分空格字符串的程序不起作用
- 解析C++中的完整(从头到尾)字符串,包括所有空格
- 反转字符串中单词的位置,而不更改 O(1) 空格限制中特殊字符的顺序
- 如何获取我的区域设置的空格字符串?