[問題] stringstream內有數字和字元

作者: cchou0114 (嘻嘻)   2016-11-18 12:44:19
請教各位版上大大
當stringstream裡有int和
char型別的資料
要怎麼各別輸出呢?
以下是我的程式
#include <iostream>
#include <string>
#include <sstream>.
using namespace std;
int main()
{
int a = 92;
string b = 'b';
stringstream ss;
ss << a;
ss << b;
return 0;
}
如果我額外用一個string temp;
temp = ss.str();
cout << temp;
如此一來 會直接輸出92b 且92會變成char而不是int
有什麼方法可以輸出
92b 且92是原來的int b是原來的char型別
謝謝
作者: uranusjr (←這人是超級笨蛋)   2016-11-18 12:48:00
我覺得你是不是誤會 stringstream 的用途了...
作者: cchou0114 (嘻嘻)   2016-11-18 12:52:00
我知道它是用來做型別轉換的 不過我用他來存一段有int和char的文字
作者: Caesar08 (Caesar)   2016-11-18 13:28:00
cin怎麼用,stringstream就怎麼用
作者: cchou0114 (嘻嘻)   2016-11-18 13:38:00
樓上c大 不過這樣的話 92會變成9跟2兩個字元 還是沒有辦法能讓他輸出成92這個int
作者: pttworld (批踢踢世界)   2016-11-18 14:02:00
在字串級就必須要區別了。
作者: cchou0114 (嘻嘻)   2016-11-18 14:14:00
p大能說得更詳細一點嗎 小的不是很理解這句話的意思…
作者: a21802 (NEC)   2016-11-18 14:17:00
做完字元判斷 再合併之類的?
作者: ilms49898723 (LittleBird)   2016-11-18 15:34:00
你要不要講清楚你要這樣的用途是什麼同一樓,光這樣我覺得你誤會stringstream的用途
作者: pttworld (批踢踢世界)   2016-11-18 15:54:00
結果是數字和字元不同類別,一開始就要使區隔。而不是混在一起然後說轉換不對。結果指的是程式寫之前的資料格式要先定義。你的問題是當使用"92b"時如何取出92存回整數型態。可以先練習"92"怎麼轉回整數,ascii code。
作者: cchou0114 (嘻嘻)   2016-11-18 18:20:00
各位前輩 問題解決了 原來我搞錯方向了 謝謝各位的解說

Links booklink

Contact Us: admin [ a t ] ucptt.com