getline不起作用

Getline is not working

本文关键字:不起作用 getline      更新时间:2023-10-16

我正在使用Visual Studio 2012,但是每当我使用Getline功能时,旁边都没有暂停循环。

这是我的代码:

#include<iostream>
#include<stdio.h>
void check_a()
{
    char a [50]; 
    int i =0 , ca=0; 
    cout <<"Enter a phrase"; 
    cin.getline (a,49); 
    while (a [i]!=''){
        if(a [i]=='a')
            a++; 
        i++; 
    }
    cout <<"Letter 'a' occurs "<<a <<" times in this phrase"; 
}
int main()
{
    check_a (); 
    return 0; 
}

输出

Enter a phraseLetter 'a' occurs 0 times in this phrase

任何修复程序或替代方案?

我已经多次遇到了这个问题,我发现通常要解决此问题,您只需要放置:

cin.clear();
cin.sync();

getline();

getline的工作正常。

ca++;替换a++;以获取正确的输出。

变量ca是您的预期计数器。