getchar函数在整数后使用时跳过第一个字符

时间:2017-09-06 09:27:12

标签: c++ string char getchar

大家好,这个问题让我发疯了 我必须输入大行作为输入T次。我使用以下代码

#include <iostream>
#include <string.h>
using namespace std;

int main() {

    int T;
    char buffer,b1;
    cin >> T>> b1;
    //fflush(stdin);

    while(T--)
    {
        char ch,c;
        int A[14];
       while((ch=getchar())!='\n')
       {
           cout << ch;
       }
    }
    return 0;
}

我知道如果我们在整数之后接受输入字符,那么它将null存储为一个字符,这就是为什么我将额外的输入作为b1(作为缓冲区)以便null将存储在其中。 当我将输入传递为

2
758
8758

它提供以下输出

58
8758

1 个答案:

答案 0 :(得分:0)

正如BLUPIXY在评论中建议替换

cin >> T>> b1;

cin >> T; cin.ignore();

它有效