本帖最後由 鄭繼威 於 2023-3-22 20:31 編輯
試利用 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<<"a="<<a<<",型態為:"<<typeid(a).name()<<endl;
- cout<<"c="<<c<<",型態為:"<<typeid(c).name()<<endl;
-
- //重複使用前需初始化
- ss.clear();
-
- ss<<b;
- ss>>d;
- cout<<"b="<<b<<",型態為:"<<typeid(b).name()<<endl;
- cout<<"d="<<d<<",型態為:"<<typeid(d).name()<<endl;
-
-
- system("pause");
- return 0;
- }
複製代碼 |