亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

您好,請問關于(c++,iostream,cin)輸入時以"."作為分隔符,如何實現?

您好,請問關于(c++,iostream,cin)輸入時以"."作為分隔符,如何實現?

白豬掌柜的 2021-12-09 11:07:01
使用iostream的cin輸入一列數據時,如cin>>a>>b>>c;數據之間用空格隔開。如果想要輸入時用“,”或“.”作為分隔符,比如輸入“5,8,6”,將5,8,6分別賦給a,b,c,如實現?輸入時要求三個數據在同一行
查看完整描述

2 回答

?
達令說

TA貢獻1821條經驗 獲得超6個贊


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"。



查看完整回答
反對 回復 2021-12-12
?
料青山看我應如是

TA貢獻1772條經驗 獲得超8個贊

char mChar;
cin>>a;
cin>>mChar;
if(mChar == ',')
{
cin>>b;
cin>>mChar;
if(mChar == ',')
cin>>c;
else
cout<<"逗號!";
}
else
cout<<"逗號!";
//不輸逗號就死定了

沒必要這么麻煩,空格就空格吧,干嘛換成","或者"."呢?



查看完整回答
反對 回復 2021-12-12
  • 2 回答
  • 0 關注
  • 466 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號