小白,关于cin的有关问题

小白求助,关于cin的问题
是这样的我想利用cin由用户输入19951/1,
然后得到的是1995和1和1,
也就是用户输入年月日的时候年月份之间带‘/’,而得到的是不带‘/’的年月日。
不知道cin可以做到么,还请大家帮一下忙,谢谢。
------解决思路----------------------
仅供参考

#include <iostream>
#include <string>

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;
}


------解决思路----------------------
引用:
Quote: 引用:

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

可以,或者加 locale 让 cin 把 / 识别为分隔符。