Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如果在数组中输入的字符太多,则显示消息并提示重新输入数组_C++_Arrays_Cin_Input Buffer - Fatal编程技术网

C++ 如果在数组中输入的字符太多,则显示消息并提示重新输入数组

C++ 如果在数组中输入的字符太多,则显示消息并提示重新输入数组,c++,arrays,cin,input-buffer,C++,Arrays,Cin,Input Buffer,我就是搞不懂。首先,我不允许使用字符串库。但是,我希望用户在char数组中输入他们的专业,但是如果他们在输入缓冲区中输入了太多的跑步记录,则会显示一条消息并提示重新将他们的专业输入到同一数组中。我是否需要以某种方式擦除阵列,然后让它们重新进入?或者,是否使用cin.peek检查输入缓冲区!='\不?我只是不知道该怎么办 我已经尝试了很多不同的方法,但我只是想回到下面的代码中寻找一个新的解决方案 const int MAJORSIZE = 21; int main() { char major

我就是搞不懂。首先,我不允许使用字符串库。但是,我希望用户在char数组中输入他们的专业,但是如果他们在输入缓冲区中输入了太多的跑步记录,则会显示一条消息并提示重新将他们的专业输入到同一数组中。我是否需要以某种方式擦除阵列,然后让它们重新进入?或者,是否使用cin.peek检查输入缓冲区!='\不?我只是不知道该怎么办

我已经尝试了很多不同的方法,但我只是想回到下面的代码中寻找一个新的解决方案

const int MAJORSIZE = 21;

int main()
{

char major[MAJORSIZE];

//Get user's major
cout << "What is your major?: ";
cin.get(major, MAJORSIZE, '\n');
cin.ignore(100, '\n');

return 0;
}

不,如果他们在循环中输入超过数组大小,我无法重新输入数组。我忘了将数组添加到帖子中。。。啊。很抱歉int main之后的第一个是char major[MAJORSIZE];