字符串未存储在向量中
String not getting stored in vector?
#include <iostream>
#include <vector>
using namespace std;
int main()
{
string n, m;
vector <string> dingdong;
cin >> n;
dingdong.push_back(n);
cin >> m;
dingdong.push_back(m);
for (int i = 0; i <2; i ++) {
cout << dingdong[i];
}
return 0;
}
当我运行程序并输入"干草身体在那里"并按回车键时。该程序打印"haysombody"。所以我想如果我将"i"增加到 3,程序将打印"haysombodythere",但不,主要只是崩溃。为什么会发生这种情况,我该如何使它存储整个字符串(包括空格(?
"为什么会发生这种情况,我如何使整个字符串(包括空格(被存储?">
要从输入中获取多个单词,您应该使用
std::getline(cin,n);
而不是
std::cin >> n;
默认情况下,空格用作分隔符,因此每次调用std::istream
的operator>>
将只存储读取到下一个空格字符的文本。
请在此处查看程序的完全固定版本。
此外,如果您真的想逐字逐句地读入vector
,请使用循环这样做
string word;
vector <string> dingdong;
while(cin >> word) {
if(word.empty) {
break;
}
dingdong.push_back(word);
}
并打印出来,就像
for (int i = 0; i < dingdong.size(); ++i) {
cout << dingdong[i];
}
相关文章:
- 访问存储在向量C++中的结构的多态成员
- 添加存储在向量中的大整数的函数出现问题
- 在 std::无符号字符的向量处存储 int 的十六进制表示形式
- 如何从用户那里获取输入并将其存储在向量中?
- 如何从文件中读取两个字符串和数字数组,并将它们存储在对象向量中
- 将无符号字符的向量存储在数组中会给我 std::bad_alloc
- 在二维向量或数组中可以存储的最大元素数是多少?
- 存储在堆分配向量中的指针的免费存储
- 将相同共享指针的副本存储在不同的向量中是否是一种好的做法?
- 将数组信息存储到 c++ 向量中有一个"Access violation reading location"
- Sqlite3:将数据库表名存储在向量中
- 如何在数组和向量 c++ 中存储和保存输入
- C++ 将抽象类型的动态分配对象传递给函数并存储在向量中
- 代码将向量存储为向量<vector>,为什么没有错误消息?
- 替代STD ::向量存储参考而不是对象的副本
- 将向量存储在<file> CStringArray 中?
- 将可变大小结构的向量存储在c++中的二进制文件中
- 使用向量c++存储和洗牌一副牌
- 将指针向量存储在文件中并再次读取它们
- 是否可以/建议将向量存储在结构中?C++