пытаясь преобразовать строку в символ с использованием .substr - PullRequest
0 голосов
/ 26 апреля 2019

Я пытаюсь превратить 1d массив строк в 2d массив символов, используя:

    '''''''''''''''
    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);

    }

}

Я хочу, чтобы он преобразовал из подстроки в символ, чтобы я мог использовать его в массиве.

Я не могу использовать строку вместо символов, потому что она нарушает функцию вывода массива на консоль.

1 Ответ

1 голос
/ 26 апреля 2019

substr возвращает строку.Строка неявным образом преобразуется в char для строк с одним символом.

Правильный способ адресации отдельных символов строк - это string :: operator [] или string :: at ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...