C++ 正在尝试将字符串转换为char using.substr

C++ 正在尝试将字符串转换为char using.substr,c++,string,char,data-conversion,C++,String,Char,Data Conversion,我尝试使用以下方法将一维字符串数组转换为二维字符数组: ''''''''''''''' variables ''''''''''''''' const int width = 20; const int height = 20; char arena[width][height]; string arenaline[height]; ''''''''''''''' setup '''''''''''''''

我尝试使用以下方法将一维字符串数组转换为二维字符数组:

    '''''''''''''''
    variables
    '''''''''''''''
    const int width = 20;
    const int height = 20;  
    char arena[width][height];
    string arenaline[height];

    '''''''''''''''
    setup
    '''''''''''''''
    arenaline[1] = "####################";
    arenaline[2] = "#..................#";
    arenaline[3] = "#..................#";
    arenaline[4] = "###...###..###...###";
    arenaline[5] = "#.......#..#.......#";
    arenaline[6] = "###...###..###...###";
    arenaline[7] = "#..................#";
    arenaline[8] = "###...###..###...###";
    arenaline[9] = "#.......#..#.......#";
    arenaline[10] = "#########..#########";
    arenaline[11] = "###..............###";
    arenaline[12] = "###.#####..#####.###";
    arenaline[13] = "###.####....####.###";
    arenaline[14] = "###.####....####.###";
    arenaline[15] = "#.....###..###.....#";
    arenaline[16] = "#.....###..###.....#";
    arenaline[17] = "#..#..###..###..#..#";
    arenaline[18] = "#.....###..###.....#";
    arenaline[19] = "#.....###..###.....#";
    arenaline[20] = "####################";

    '''''''''''''''
    conversion
    '''''''''''''''
for (int i = 0; i < height; i++)
{
    for (int j = 0; j < width; j++)
    {

        arena[j][i] = arenaline[i].substr(j,1);

    }

}
“'
变量
'''''''''''''''
const int width=20;
const int height=20;
半圆形竞技场[宽度][高度];
字符串arenaline[高度];
'''''''''''''''
设置
'''''''''''''''
阿雷纳林[1]=“阿雷纳林”;
arenaline[2]=“#……#”;
arenaline[3]=“#……#”;
arenaline[4]=“################”;
arenaline[5]=“##.#.#.#.#.#”;
arenaline[6]=“################”;
arenaline[7]=“#……#”;
arenaline[8]=“################”;
arenaline[9]=“##.#.#.#.#.#”;
阿雷纳林[10]=“阿雷纳林”;
arenaline[11]=“##############”;
arenaline[12]=“################”;
arenaline[13]=“###############”;
阿雷纳林[14]=“##############”;
arenaline[15]=“#############…”;
arenaline[16]=“############…”;
arenaline[17]=“################”;
arenaline[18]=“#############…”;
arenaline[19]=“#############…”;
阿雷纳林[20]=“阿雷纳林”;
'''''''''''''''
转变
'''''''''''''''
对于(int i=0;i
我希望它从子字符串转换为字符,这样我就可以在数组中使用它

我不能用字符串代替字符,因为它破坏了将数组输出到控制台的函数。

返回字符串。对于“单字符”字符串,字符串未隐式转换为字符


处理字符串的单个字符的正确方法是字符串::运算符[]或字符串::at() STD::String 的函数,以与<代码> STD::String 一起工作?也不要忘记数组索引是零的(因此,初始化是错误的,并且无论如何都不工作,如图所示),并且 char < /Cord> C++中的字符串实际上被称为null结尾字节串,如果你想在字符串中使用C字符串函数,你也需要为终止符留出空间。