日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++ stirng,int 互转(转载)

發布時間:2024/9/20 c/c++ 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++ stirng,int 互转(转载) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

近做項目用到c++,才發現c++中的數據類型不是一般的BT。尤其是我和婷還是分開操作的。我寫底層,用的是WIN32控制臺;而婷寫MFC。由于沒有經驗,所以沒有寫中間的轉換程序。當集成時,類型轉換特別麻煩。以下都是我收集的類型轉換的方法和一些經驗,供大家參考。歡迎補充~~

1. char* to string
string s(char *);?
注:在不是初始化的地方最好用assign().
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2. string to const char*
string a="strte";
const char* r=a.c_str();
注意是const的。還要轉到char*:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2.2. const char* to char*
const char* r="123";
char?? *p1?? =?? new?? char[strlen(r)+1];
strcpy(p1,r);
附:http://hi.baidu.com/cfans/blog/item/06970ef4b671f366dcc4745d.html
?這個頁面是具體講述區別的。
·············································································································
3. cstring to string
vs2005 Unicode下:
? CStringW?? str(L"test");??
? CStringA?? stra(str.GetBuffer(0));??
? str.ReleaseBuffer();??????
? std::string?? strs?? (stra.GetBuffer(0));??
? stra.ReleaseBuffer();

非Unicode下:
CString cs("test");
std::string str=cs.getBuffer(0);
cs.ReleaseBuffer();

注:GetBuffer()后一定要ReleaseBuffer(),否則就沒有釋放緩沖區所占的空間.
++++++++++++++++++++++++++++++++++++++++++++++++++++
4. double ,int to string
#include <sstream>
using namespace std;

stringstream ss;
string result;
long n=11111;
stream << n; //從long型數據輸入
stream >>result; //轉換為 string


===================================================

5.char*? to int, double ,long

char *s; double x; int i; long l;

s = " -2309.12E-15"; /* Test of atof */
x = atof( s );
printf( "atof test: ASCII string: %s\tfloat: %e\n", s, x );

s = "7.8912654773d210"; /* Test of atof */
x = atof( s );
printf( "atof test: ASCII string: %s\tfloat: %e\n", s, x );

s = " -9885 pigs"; /* Test of atoi */
i = atoi( s );
printf( "atoi test: ASCII string: %s\t\tinteger: %d\n", s, i );

s = "98854 dollars"; /* Test of atol */
l = atol( s );
printf( "atol test: ASCII string: %s\t\tlong: %ld\n", s, l );
------------------------------------------------------------------------------------------------
6. string to int ,long ,double????????????
????????????? int s;
?string str="123";
?stringstream ss;
?ss<<str;//從str輸入
?ss>>s;//輸出到int
?ss.clear();


——————————————————————————————————————————
7. date to string
#include <time>
using namespace std;

char dateStr [9];
char timeStr [9];
?_strdate( dateStr);
printf( "The current date is %s \n", dateStr);
_strtime( timeStr );
printf( "The current time is %s \n", timeStr);

--------實踐證明是正確的版本--------------------------------------------------------------
#include <iostream>
#include <ctime>
#include <cerrno>
?
int main()
{
???? //Find the current time
???? time_t curtime = time(0);
?????
????? //convert it to tm
????? tm now=*localtime(&curtime);
????
???? //BUFSIZ is standard macro that expands to a integer constant expression
???? //that is greater then or equal to 256. It is the size of the stream buffer
???? //used by setbuf()
???? char dest[BUFSIZ]={0};
????
???? //Format string determines the conversion specification's behaviour
???? const char format[]="%A, %B %d %Y. The time is %X";
????
???? //strftime - converts date and time to a string
???? if (strftime(dest, sizeof(dest)-1, format, &now)>0)
?????? std::cout<<dest<<std::endl;
???? else
?????? std::cerr<<"strftime failed. Errno code: "<<errno<<std::endl;
}

|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
8.string to cstring

+++++++++++++++++++++++++++++++++++++++++++++++++++++
非Unicode下:
int 轉 CString:
CString.Format("%d",int);
...............................
string 轉 CString?
CString.format("%s", string.c_str());?
用c_str()確實比data()要好.?
.......................................
char* 轉 CString?
CString.format("%s", char*);?
?CString strtest;?
?char * charpoint;?
?charpoint="give string a value";?
?strtest=charpoint; //直接付值
.....................................................
CString 轉 int
?CString? ss="1212.12";?
?int temp=atoi(ss); //atoi _atoi64或atol
...................................................................................................................................
9.在Unicode下的CString to double
CSting sTemp("123.567");
double dTemp = _wtof(sTemp.GetString());


文章出處:飛諾網(www.firnow.com):http://dev.firnow.com/course/3_program/c++/cppjs/20090412/164832.html

總結

以上是生活随笔為你收集整理的C++ stirng,int 互转(转载)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。