stringstream的用法
c++ MessageBox輸出stringstream型數據
正確的做法是先轉換成c風格的字符串再轉換成寬字符。
而轉換為寬字符最方便的就是使用ATL轉換宏,例子如下:
#include<windows.h>
#include<sstream>
#include<atlconv.h>
usingnamespacestd;
intmain(){
stringstreamostr("這是寬字符");
USES_CONVERSION;
MessageBox(NULL,A2W(ostr.str().c_str()),TEXT("驗證碼"),MB_OK);
}
c++字符串轉化為數字
c++字符串轉化為數字可以利用<sstream>的stringstream,并且可以是浮點數。
stringstream類主要用于早期版本的C++,它可以通過對字符串執行輸入和輸出的工作。要使用stringstream類,首先必須通過添加#include<sstream>行在程序頂部包含sstream庫。然后添加stringstream并創建一個stringstream對象,該對象將保存要轉換為int的字符串的值,并將在將其轉換為int的過程中使用。
可以使用<<運算符從字符串變量中提取字符串。最后使用>>運算符將新轉換的int值輸入到int變量中。具體操作如下所示:
#include<iostream>
#include<string>
using namespace std;
int main()
{
int x;
string str;
cin>>str;
x=stoi(str);
cout<<x;
return 0;
}
c++ 如何string 賦值給char *
方法一:使用stringstream進行轉換。
示例:
#include<iostream>
#include<string>
#include<sstream>
usingnamespacestd;
intmain(intargc,char*argv[])
{
stringstreamsstr;
sstr.clear();
char*ch=newchar[1024];
strings="abcd";
sstr<<s;//將s的值放到stringstream
sstr>>ch;//將stringstream中的值導出到ch
cout<<ch<<endl;
return0;
}
/*
輸出:abcd
*/
方法二:運用basic_string::c_str轉換或者使用basic_string::data()轉換
1)函數原型:const value_type *c_str( ) const;和const value_type *data( ) const;
2)函數描述:basic_string::c_str將一個字符串的內容轉化為一個c風格字符串的指針,basic_string::data返回原始數據序列。
3)區別:data只是返回原始數據序列,沒有保證會用traits::eos(),或者說''來作字符串結束。 當然,可能多數實現都這樣做了。
示例:
#include<string>
#include<iostream>
usingnamespacestd;
intmain()
{
stringstr1("Helloworld");
constchar*ptr1=0;
ptr1=str1.data();
cout<<"Themodifiedstringobjectptr1is:"<<ptr1
<<endl;
//ConvertingastringtoaC-stylestring
constchar*c_str1=str1.c_str();
cout<<"TheC-stylestringc_str1is:"<<c_str1
<<endl;
}
/*
輸出:
Themodifiedstringobjectptr1is:Helloworld
TheC-stylestringc_str1is:Helloworld
*/
本文發布于:2023-02-28 20:27:00,感謝您對本站的認可!
本文鏈接:http://m.newhan.cn/zhishi/a/167767649983658.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:stringstream(stringstream頭文件).doc
本文 PDF 下載地址:stringstream(stringstream頭文件).pdf
| 留言與評論(共有 0 條評論) |