標題:
stringstream 字串串流 (二)
[打印本頁]
作者:
tonyh
時間:
2022-12-8 19:47
標題:
stringstream 字串串流 (二)
試利用 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-12-8 20:28
#include<bits/stdc++.h>
using namespace std;
#define ll long long
//#define int ll
#define FOR(i,a,b) for(int i=a;i<b;i++)
#define REP(i,n) FOR(i,0,n)
#define REP1(i,n) FOR(i,1,(n)+1)
#define RREP(i,n) for(int i=(n)-1;i>=0;i--)
#define f first
#define s second
#define pb push_back
#define ALL(x) x.begin(),x.end()
#define SZ(x) (int)(x.size())
#define SQ(x) (x)*(x)
#define pii pair<int,int>
#define Graph vector<vector<int>>
#define IOS() cin.sync_with_stdio(0),cin.tie(0),cout.tie(0)
const ll inf=(1ll<<63)-1;
const int maxn=1e4+5;
const ll mod=1e9+7;
stringstream ss;
signed main()
{
IOS();
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;
return 0;
}
複製代碼
作者:
黃宇瑄
時間:
2022-12-8 20:29
#include<bits/stdc++.h>
#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;
return 0;
}
複製代碼
作者:
黃宥華
時間:
2022-12-8 20:31
#include<bits/stdc++.h>
using namespace std;
stringstream ss;
int main()
{
cin.sync_with_stdio(0);
cin.tie();
string str;
string str1="abc";
string str2="狗咬豬";
int a=123;
float b=3.456,c;
ss<<a;
ss>>c;
cout<<c<<endl;
ss.clear();
ss<<b;
ss>>str;
cout<<str<<endl;
cout<<typeid(a).name()<<endl;
cout<<typeid(b).name()<<endl;
cout<<typeid(c).name()<<endl;
cout<<typeid(str).name()<<endl;
//cout<<ss.str()<<endl;
//ss>>str;
//cout<<str;
return 0;
}
複製代碼
作者:
李沛昂
時間:
2022-12-8 20:33
#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