Char ** +输入“”字符

时间:2013-11-04 01:53:54

标签: c++ pointers char

我目前正在尝试解决迷宫算法,但我已经开始因为我似乎无法从用户那里获取“”字符。在用户输入大小之前,我不知道迷宫的大小,所以我有一个2d阵列的char **设置。我发现我不能使用cin获取“”,所以我想使用cin.get或cin.getline,似乎无法正确使用它们。这是我的代码中有问题的部分:

int main(){
    int size_x;
    int size_y;
    char** array;


    cin >> size_x >> size_y;
    array = new char* [size_y];
    for(int i=0; i < size_y; i++)
            array[i] = new char[size_x];

    //This part seems to not work properly
    for(int i = 0; i < size_y; i++){
            for(int k = 0; k < size_x; k++){
                    array[i][k] = cin.get();
            }
    }

输入1个字符后,剩余的字符将被视为空白,程序将跳过其余部分。这是当我为size_x输入1而为size_y输入4时的输出,之后输入1234作为输入:

1
2
3
done

我可能只是在做一些非常愚蠢的事情,但我无法弄明白。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以使用getchar()代替