繁体   English   中英

C ++使用cin.get获取字符,如何跳过\\ n并仅捕获第一个字符?

[英]C++ getting a character using cin.get, how to skip \n and grab only the first character?

我正在做一个学校项目,用户应在其中输入开关/案例菜单的内容。 我做了一个单独的对象要在菜单中读取。 该程序全部有关生命游戏。 但是,我正在努力如何忽略所有\\ n并仍仅读取第一个字符。 因此,当用户输入\\ n \\ n \\ n RI喜欢返回R时,就像用户输入\\ n \\ n $$一样。 但是现在我的代码执行了链接到R的命令三次。

char wereld::leesoptie ( ) {    
char keuze = cin.get ( );       //So here the user will imput his \n \n RR
if (keuze == '\n') {
    while (keuze == '\n')       //I skip the \n's like this
    keuze = cin.get ( );
}                               
return keuze;                   //The returned value should be only the first real character of the string.
}//leesoptie

接下来是我用来执行leesoptie函数的代码:

int wereld::parameters (){
-----
keuze = leesoptie ( );
switch (keuze) {
        case 'T': case 't': return 0;
        ---
char c;
std::cin >> c;

默认情况下,这将读取一个字符,而忽略任何空格(包括换行符)。 查看更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM