標題:
stringstream 字串串流 (二)
[打印本頁]
作者:
鄭繼威
時間:
2022-7-22 17:25
標題:
stringstream 字串串流 (二)
本帖最後由 鄭繼威 於 2022-7-22 17:29 編輯
試利用 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;
}
複製代碼
作者:
高昀昊
時間:
2022-7-23 12:07
#include<iostream>
#include<cstdlib>
#include<sstream>
#include<typeinfo>
using namespace std;
int main()
{
stringstream ss;
int a=1073741824;
double b=3.1415936535897932384626;
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;
}
複製代碼
作者:
孫子傑
時間:
2022-7-27 13:40
#include<iostream>
#include<cstdlib>
#include<sstream>
#include<typeinfo>
using namespace std;
int main()
{
stringstream ss;
int a=123;
double b=3.14234342346576867;
float xd;
string shi;
ss<<a;
ss>>b;
cout<<xd<<endl;
ss.str("");
ss.clear();
ss<<b;
ss>>shi;
cout<<shi<<endl;
cout<<typeid(a).name()<<endl;
cout<<typeid(b).name()<<endl;
cout<<typeid(xd).name()<<endl;
cout<<typeid(shi).name()<<endl;
system("pause");
return 0;
}
複製代碼
作者:
曾善勤
時間:
2022-7-30 09:55
#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;
}
複製代碼
作者:
鍾易澄
時間:
2022-7-30 09:56
#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;
}
複製代碼
作者:
田家齊
時間:
2022-7-30 09:57
#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;
}
複製代碼
作者:
柳侑辰
時間:
2022-7-30 10:01
#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;
}
複製代碼
作者:
高鋐鈞
時間:
2022-7-30 10:32
#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;
}
複製代碼
作者:
許宸瑀
時間:
2022-7-30 10:32
#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;
}
複製代碼
作者:
郭博鈞
時間:
2022-7-30 10:35
#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;
}
複製代碼
作者:
許馹東
時間:
2022-7-30 10:44
#include<iostream>
#include<cstdlib>
#include<sstream>
#include<typeinfo>
using namespace std;
int main()
{
stringstream ss;
int a=123;
double b=456;
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;
}
複製代碼
作者:
林紘憲
時間:
2022-7-30 10:50
#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;
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2