无法从字符串向量中打印字符串
cannot print a string from a vector of strings
我有一个字符串向量,我一个字符一个字符地手动填充其中的第一个字符串
vector <std::string> vec(6);
vec[0][0] = 'h';
vec[0][1] = 'e';
vec[0][2] = 'y';
cout << "vec[0] = " << vec[0] << "\n"
现在我想打印 vec[0] ,它应该是一个字符串 "hey"
,但它打印为空 space。
只有当我也一个字符一个字符地打印时,我才能打印,就像这样
for(int i = 0 ; i<1 ; i++)
{
for(int j = 0 ; j < 3 ; j++)
{
cout << vec[i][j];
}
cout << "\n";
}
为什么我不能简单地打印整个字符串。
vector <std::string> vec(6);
给你一个包含六个空字符串的向量。 vec[0][0] = 'h';
试图将字符 h
分配到第一个空字符串的第一个槽位,这是不合法的,因为括号运算符只能替换现有字符。使用类似 vec[0] += 'h'
的内容附加到字符串。
我有一个字符串向量,我一个字符一个字符地手动填充其中的第一个字符串
vector <std::string> vec(6);
vec[0][0] = 'h';
vec[0][1] = 'e';
vec[0][2] = 'y';
cout << "vec[0] = " << vec[0] << "\n"
现在我想打印 vec[0] ,它应该是一个字符串 "hey"
,但它打印为空 space。
只有当我也一个字符一个字符地打印时,我才能打印,就像这样
for(int i = 0 ; i<1 ; i++)
{
for(int j = 0 ; j < 3 ; j++)
{
cout << vec[i][j];
}
cout << "\n";
}
为什么我不能简单地打印整个字符串。
vector <std::string> vec(6);
给你一个包含六个空字符串的向量。 vec[0][0] = 'h';
试图将字符 h
分配到第一个空字符串的第一个槽位,这是不合法的,因为括号运算符只能替换现有字符。使用类似 vec[0] += 'h'
的内容附加到字符串。