您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> C/C++ >> 小白求助,关于cin的问题

小白求助,关于cin的问题

来源:网络整理     时间:2016/8/27 6:45:06     关键词:

关于网友提出的“ 小白求助,关于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:

引用 6 楼 zxh707wk 的回复:
Quote: 引用 5 楼 ri_aje 的回复:

把整个输入当字符串读入,然后自己解析
cin然后sscanf 小白求助,关于cin的问题

可以,或者加 locale 让 cin 把 / 识别为分隔符。
以上介绍了“ 小白求助,关于cin的问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3626930.html

相关图片

相关文章