如何将一个2d char数组转换为字符串?
int main()
{
char foo[3][3] = {{'a','b','c'}, {'d','e','f'},{'g','h','i'}};
string bar;
bar = foo;
cout<< bar; //abcdefghi
return 0;
}
你也可以只把一个2D数组的部分转换成字符串吗?
int main()
{
char foo[3][3] = {{'a','b','c'}, {'d','e','f'},{'g','h','i'}};
string bar;
bar = foo[0][1] + foo[1][2] + foo[2][0];
cout<< bar; //bfg (bar contains only b, f, and g)
return 0;
}
4条答案
按热度按时间qgzx9mmu1#
你可以利用2D数组中的元素是连续的这一事实,以及the two-iterator constructor of
std::string
:这里,
&foo[0][0]
是指向第一个元素的指针,&foo[2][2] + 1
是指向最后一个元素之后的一个元素的指针。指针是迭代器。krugob8w2#
希望这段代码能对你有所帮助,欢迎来到c++
lnlaulya3#
C++标准不包含这个函数,所以你必须自己写。
可以使用以下代码:
这段代码遍历二维数组,实际上是一个或多个数组,并将每个字符添加到字符串中。
vq8itlhq4#