从2d字符串数组中提取字符

时间:2013-03-27 12:52:18

标签: c++ arrays string char 2d

我有二维字符串数组,所以这是一个例子:

string arr[26][4];
arr[0][0] = 'A';
char t1 = arr[0][0];

错误:无法在初始化|

中将'std :: string'转换为'char'

最好的方法是什么?

1 个答案:

答案 0 :(得分:3)

您已声明arr这样:

std::string arr[N][M];

以下情况有效,因为std::string的{​​{1}}重载需要operator=

char

这会导致位置arr[0][0] = 'A'; 的字符串设置为仅包含0,0

但是,正如您在此行中尝试的那样,没有从Astd::string的直接转换:

char

相反,如果您希望字符串的第一个字符位于char temp = arr[0][0]; ,则必须执行以下操作:

0,0

首先char temp = arr[0][0][0]; 访问位置arr[0][0]的字符串,然后以下0,0访问该字符串的第一个字符。