標題:
字串串流 (二)
[打印本頁]
作者:
陳曜誌
時間:
2024-8-7 14:04
標題:
字串串流 (二)
試利用 stringstream 型別,來進行變數型態的轉換,譬如 int 轉 float、double轉 string 等。
stringstream 物件再重複使用前,必須先做初始化 (清空) 的動作。
我們可透過 <typeinfo> 標頭檔所提供的 typeid() 接 name() 函式,查看變數的型態。
#include<iostream>
#include<cstdlib>
#include<sstream>
#include<typeinfo>
using namespace std;
int main()
{
stringstream ss;
int a=123;
double b=456.789;
float c;
string d;
ss<<a;
ss>>c;
cout<<c<<endl;
ss.str(""); //重複使用前需初始化
ss.clear();
ss<<b;
ss>>d;
cout<<d<<endl;
cout<<typeid(a).name()<<endl;
cout<<typeid(b).name()<<endl;
cout<<typeid(c).name()<<endl;
cout<<typeid(d).name()<<endl;
system("pause");
return 0;
}
複製代碼
作者:
陳曜誌
時間:
2024-8-8 18:49
本帖最後由 陳曜誌 於 2024-8-8 18:52 編輯
#include<iostream>
#include<cstdlib>
#include<sstream>
#include<typeinfo>
using namespace std;
int main()
{
stringstream ss; // 建立字串串流物件
int a = 123; // 整數變數
double b = 456.789; // 雙精度浮點數變數
float c; // 單精度浮點數變數
string d; // 字串變數
// 將整數 a 輸入到字串串流中
ss << a;
ss >> c;
cout << c << endl;
// 清空字串串流以便重複使用
ss.str("");
ss.clear();
ss << b;
ss >> d;
cout << d << endl;
// 輸出變數的類型
cout << typeid(a).name() << endl; // 輸出整數 a 的類型
cout << typeid(b).name() << endl; // 輸出雙精度浮點數 b 的類型
cout << typeid(c).name() << endl; // 輸出浮點數 c 的類型
cout << typeid(d).name() << endl; // 輸出字串 d 的類型
system("pause"); // 暫停系統以查看結果
return 0;
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2