关于网友提出的“ 小白求助,关于cin的问题”问题疑问,本网通过在网上对“ 小白求助,关于cin的问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 小白求助,关于cin的问题
描述:小白求助cin
是这样的我想利用cin由用户输入19951/1,
然后得到的是1995和1和1,
也就是用户输入年月日的时候年月份之间带‘/’,而得到的是不带‘/’的年月日。
不知道cin可以做到么,还请大家帮一下忙,谢谢。
解决方案1: 仅供参考
#include
#include
using namespace std;
int main(){
char year[10]={0};
char month[10]={0};
char day[10]={0};
char ch;
int split_cnt=0;
int idx=0;
while( ((ch=cin.peek()) != '/') || (split_cnt < 2) ){
if(ch == '\n') //换行符,输入结束
break;
else if(ch == '/' ){ //年月日分割符
idx=0;
split_cnt++;
cin.get();
continue;
}
if(split_cnt == 0) //年
cin.get(year[idx++]);
else if(split_cnt == 1) //月
cin.get(month[idx++]);
else //日
cin.get(day[idx++]);
}
cout << "year:" << year << " month:" << month << " day:" << day << endl;
return 0;
}
解决方案2:
可以,或者加 locale 让 cin 把 / 识别为分隔符。
以上介绍了“ 小白求助,关于cin的问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3626930.html