您好,请问关于(c++,iostream,cin)输入时以"."作为分隔符,如何实现?

使用iostream的cin输入一列数据时,如cin>>a>>b>>c;数据之间用空格隔开。如果想要输入时用“,”或“.”作为分隔符,比如输入“5,8,6”,将5,8,6分别赋给a,b,c,如实现?
输入时要求三个数据在同一行

白猪掌柜的
浏览 322回答 2
2回答

达令说

呃C++的<string>库中有一个getline()函数用法是istream& getline(istream& is,string& str,char delimiter='\n')第一个参数是输入流,第二个参数是字符串变量,第三个参数是分隔符,默认分隔符是'\n'。分隔符只能是半角字符,如果要用','那么就是getline(cin, str_, ',');完整的程序写出来就是#include <string>#include <iostream>using namespace std;int main(){string s;getline(cin, s, ',');//..............//.............}如果输入是:56,23那么,s中的内容就是"56"这样,再把字符串转成数字就不困难了---------------------------------那个函数名义上是getline,但实际上可以识别任何指定的分隔符,例如LZ给的逗号、句点之类的符号。例如输入是1,2,3,4,5那么getline(cin, str, ',');过后,str里面的内容就是"1"。第二次执行getline(cin,str,',');str里面的内容就是"2"。

料青山看我应如是

char mChar;cin>>a;cin>>mChar;if(mChar == ','){cin>>b;cin>>mChar;if(mChar == ',')cin>>c;elsecout<<"逗号!";}elsecout<<"逗号!";//不输逗号就死定了没必要这么麻烦,空格就空格吧,干嘛换成","或者"."呢?
打开App,查看更多内容
随时随地看视频慕课网APP