行読み取りキャリッジリターンを取得します

行読み取りキャリッジリターンを取得します

最近、PATでgetlineの問題が発生しました
。cin.get()を追加しない場合は、次のように問題を単純化します。nをすぐに入力して出力します。nは単なる数値です。
その理由は、get行がバッファのキャリッジリターンを読み取るためです。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <string>
#include <vector>
#include <map>
using namespace std;
//这里都是13 第一个都是tret
//建表 必须用init for用不了 字符数组记得大括号
//map<a,b> x[]错误 不能写map数组
int main() {
    
    
	
	int n; 
	cin>>n;
	while(n--){
    
    
		string s;
		cin.get();
		//getline(cin,s);
		cin>>s;
		if(s[0]>='0'&&s[0]<='9'){
    
    
			cout<<"a"<<endl;
		}else{
    
    
			cout<<"b"<<endl;
		}
	}
	return 0;
}

おすすめ

転載: blog.csdn.net/weixin_43152520/article/details/109559640