標題:
stringstream 字串串流 (二)-型態轉換
[打印本頁]
作者:
鄭繼威
時間:
2023-5-20 12:00
標題:
stringstream 字串串流 (二)-型態轉換
本帖最後由 鄭繼威 於 2023-10-13 17:27 編輯
試利用 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;
}
複製代碼
作者:
宜儒
時間:
2023-5-20 15:07
#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; //將a的東西丟到ss
ss>>c; //將ss的東西丟到c
cout<<"a="<<a<<",型態為:"<<typeid(a).name()<<endl;
cout<<"c="<<c<<",型態為:"<<typeid(c).name()<<endl;
ss.clear(); //重複使用前,需先初始化
ss<<b; //將b的東西丟到ss
ss>>d; //將ss的東西丟到d
cout<<"b="<<b<<",型態為:"<<typeid(b).name()<<endl;
cout<<"d="<<d<<",型態為:"<<typeid(d).name()<<endl;
system("pause");
return 0;
}
複製代碼
作者:
吳俊頡
時間:
2023-5-20 15:08
#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;
}
複製代碼
作者:
陳牧謙
時間:
2023-5-20 15:09
#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;
}
複製代碼
作者:
陳宥霖
時間:
2023-5-20 15:09
#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;
}
複製代碼
作者:
翁川祐
時間:
2023-5-20 15:09
#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;
}
複製代碼
作者:
陳泓亦
時間:
2023-5-20 15:10
#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;
}
複製代碼
作者:
徐啟祐
時間:
2023-5-20 15:10
#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;
}
複製代碼
作者:
黃品禎
時間:
2023-10-21 18:47
#include<bits/stdc++.h>
using namespace std;
int main()
{
cin.tie(0);
cin.sync_with_stdio(0);
stringstream ss;
int a=123;
float c=123;
double b=456.789;
string d="456.789";
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;
return 0;
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2