出于某种原因,当我使用 getch() 时,我的程序崩溃了,但是如果我使用 cin,它就可以工作

For some reason, when i use getch() my program crash, but if i use cin, then it works

我想知道我缺乏关于数组输入的知识。我想输入一个字符,然后自动转到下一行代码。

代码如下:

char word[21];
for(int i = 0;i < 21; i++)
{
    word[i] = getch();
    //cin>>word[i];
    if(word[i] == '/')break;
}
for(int j = 0;j < strlen(word); j++ )
{
  if(j < (strlen(word) - 1 ))cout<<word[j];
}

我会这样做:

char c;
std::cin >> c; // Input the character.
std::cin.ignore(10000, '\n'); // Ignore remaining characters on the line.

您可以将 10000 替换为无符号整数的最大值,但我只是使用了一个不大可能的数字(为非概率驱动提供燃料)。