stringwstringcstring char tcharintdword转换方法Word格式.docx
- 文档编号:18070178
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:13
- 大小:18.52KB
stringwstringcstring char tcharintdword转换方法Word格式.docx
《stringwstringcstring char tcharintdword转换方法Word格式.docx》由会员分享,可在线阅读,更多相关《stringwstringcstring char tcharintdword转换方法Word格式.docx(13页珍藏版)》请在冰豆网上搜索。
:
string&
strDes)
#ifndefUNICODE
strDes=strSrc;
#elseUSES_CONVERSION;
strDes=W2A(strSrc.LockBuffer());
strSrc.UnlockBuffer();
#endif
b)
strings(CString.GetBuffer());
ReleaseBuffer();
GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间.
c)
stringCStringToString(CStringcstr)
stringresult(cstr.GetLength(),'
e'
);
cstr.GetLength();
result[i]=(char)cstr[i];
5》string转char*
a)char*p=string.c_str();
举例:
stringaa("
aaa"
char*c=aa.c_str();
stringmngName;
chart[200];
memset(t,0,200);
strcpy(t,mngName.c_str());
b)一个一个字符的赋值
char*p=newchar[sring的长度+1];
p[string的长度]='
/0'
;
但是要注意最后赋值'
!
char*StringToChar(string&
str)
intlen=str.length();
char*p=newchar[len+1];
len;
p[i]=str[i];
p[len]='
6》char*转string
strings(char*);
你的只能初始化,在不是初始化的地方最好还是用assign();
stringCharToString(char*arr,intcount)
stringresult(arr,4);
string是ansi编码字符char
TCHAR是unicode编码字符wchar_t
7》string转TCHAR*
/*
wBuf申明为指针即可。
*/
wchar_t*chr2wch(constchar*buffer)
size_tlen=strlen(buffer);
size_twlen=MultiByteToWideChar(CP_ACP,0,(constchar*)buffer,int(len),NULL,0);
wchar_t*wBuf=newwchar_t[wlen+1];
MultiByteToWideChar(CP_ACP,0,(constchar*)buffer,int(len),wBuf,int(wlen));
returnwBuf;
}
8》TCHAR*转string
char*wch2chr(LPCTSTRlpString)
//Calculateunicodestringlength.
UINTlen=wcslen(lpString)*2;
char*buf=(char*)malloc(len);
UINTi=wcstombs(buf,lpString,len);
returnbuf;
9》string和char*转int
string转int
..............................
char*转int
#include<
stdlib.h>
intatoi(constchar*nptr);
longatol(constchar*nptr);
longlongatoll(constchar*nptr);
longlongatoq(constchar*nptr);
10》int转char*和string
在stdlib.h中有个函数itoa()
itoa的用法:
itoa(i,num,10);
i需要转换成字符的数字
num转换后保存字符的变量
11》wstring转Csting
std:
wstring转CString
CStringstr(filename.c_str());
12》Cstring转wstring
CString转std:
wstring
wstringstr=filename.GetString();
13》Cstring转char*
CStringcstr(asdd);
constchar*ch=(LPCTSTR)cstr;
CString
str="
i
am
good"
char*
lp=str.GetBuffer(str.GetLength());
str.ReleaseBuffer();
14》char*转Cstring
str;
char
pStr[100];
str.Format("
%s"
pStr);
15》TCHar转char
***********************************************************************
*函数:
THCAR2Char
*描述:
将TCHAR*转换为char*
char*CPublic:
THCAR2char(TCHAR*tchStr)
{
intiLen=2*wcslen(tchStr);
//CString,TCHAR汉字算一个字符,因此不用普通计算长度
char*chRtn=newchar[iLen+1]
wcstombs(chRtn,tchStr,iLen+1);
//转换成功返回为非负值
returnchRtn;
16》char转tchar
定义了UNICODE宏之后,TCHAR就是宽字符wchar_t,否则TCHAR跟char是一样的^_
具体问题具体分析,浮云啊,一切皆是浮云.....
以下摘录自网络:
..............................................................
《C++标准函数库》中说的
有三个函数可以将字符串的内容转换为字符数组和C—string
1.data(),返回没有”/0“的字符串数组
2,c_str(),返回有”/0“的字符串数组
3,copy()
.................................................................
int转CString:
CString.Format("
%d"
int);
...............................
string转CString
CString.format("
用c_str()确实比data()要好.
.......................................
char*转CString
char*);
CStringstrtest;
char*charpoint;
charpoint="
givestringavalue"
strtest=charpoint;
//直接付值
...................................................................
CString转int
CString
ss="
1212.12"
inttemp=atoi(ss);
//atoi_atoi64或atol
将字符转换为整数,可以使用atoi、_atoi64或atol。
intint_chage=atoi((lpcstr)ss);
或:
CStringstr="
23"
UINTuint;
sscanf(str,"
uint);
CString转string
GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间.
..........................................
int转string
char*转string
你的只能初始化,在不是初始化的地方最好还是用assign().
CString转char*
CStringstrtest="
wwwwttttttt"
charpoint=strtest.GetBuffer(strtest.GetLength());
CString转换char[100]
chara[100];
CStringstr("
aaaaaa"
strncpy(a,(LPCTSTR)str,sizeof(a));
str="
char*
ch;
ch=(char*)(LPCTSTR)str;
int转char*
10转换数字的基数(进制)10就是说按照10进制转换数字。
还可以是2,8,16等等你喜欢的进制类型
原形:
char*itoa(intvalue,char*string,intradix);
实例:
#include"
stdlib.h"
stdio.h"
main()
inti=1234;
chars[5];
itoa(i,s,10);
printf("
s);
getchar();
string转char*
char*p=string.c_str();
stringaa("
char*c=aa.c_str();
stringmngName;
chart[200];
memset(t,0,200);
strcpy(t,mngName.c_str());
标准C里没有string,char*==char[]==string
可以用CString.Format("
char*)这个方法来将char*转成CString。
要把CString转成char*,用操
作符(LPCSTR)CString就可以了。
cannotconvertfrom'
constchar*'
to'
char*'
constchar*c=aa.c_str();
string.c_str()只能转换成constchar*
string>
//使用CString必须使用MFC,并且不可包含<
windows.h>
#define_AFXDLL
afx.h>
usingnamespacestd;
//———————————————————————————-
//将单字节char*转换为宽字节wchar*
inlinewchar_t*AnsiToUnicode(constchar*szStr)
intnLen=MultiByteToWideChar(CP_ACP,MB_PRECOMPOSED,szStr,-1,NULL,0);
if(nLen==0)
returnNULL;
wchar_t*pResult=newwchar_t[nLen];
MultiByteToWideChar(CP_ACP,MB_PRECOMPOSED,szStr,-1,pResult,nLen);
returnpResult;
//将宽字节wchar_t*转换单字节char*
inlinechar*UnicodeToAnsi(constwchar_t*szStr)
intnLen=WideCharToMultiByte(CP_ACP,0,szStr,-1,NULL,0,NULL,NULL);
char*pResult=newchar[nLen];
WideCharToMultiByte(CP_ACP,0,szStr,-1,pResult,nLen,NULL,NULL);
//将单字符string转换为宽字符wstring
inlinevoidAscii2WideString(conststd:
szStr,std:
wstring&
wszStr)
intnLength=MultiByteToWideChar(CP_ACP,0,szStr.c_str(),-1,NULL,NULL);
wszStr.resize(nLength);
LPWSTRlpwszStr=newwchar_t[nLength];
MultiByteToWideChar(CP_ACP,0,szStr.c_str(),-1,lpwszStr,nLength);
wszStr=lpwszStr;
delete[]lpwszStr;
int_tmain(intargc,_TCHAR*argv[])
pChar=“我喜欢char”;
wchar_t*pWideChar=L”我讨厌wchar_t”;
wchar_t
tagWideCharList[100];
char
ch=‘A’;
tagChar[100]={NULL};
cStr;
stringstr;
//注:
设置语言环境以便输出WideChar
setlocale(LC_ALL,”chs”);
char*转换wchar_t*
wchar_t未重载<
<
,所以不可使用cout<
输出
pWideChar=AnsiToUnicode(pChar);
printf(”%ls”)和wprintf(L”%s”)一致
printf(“%ls/n”,pWideChar);
wchar_t*转换wchar_t[]
wcscpy(tagWideCharList,pWideChar);
wprintf(L”%s/n”,tagWideCharList);
wchar_t[]转换wchar_t*
pWideChar=tagWideCharList;
wprintf(L”%s/n”,pWideChar);
char转换string
str.insert(str.begin(),ch);
cout<
str<
endl;
wchar_t*转换string
pWideChar=newwchar_t[str.length()];
swprintf(pWideChar,L”%s”,str.c_str());
string转换char*
pChar=const_cast<
char*>
(str.c_str());
pChar<
char*转换string
str=std:
string(pChar);
cout的<
重载了string,若printf的话必须printf(”%s”,str.c_str());
//
而不可print(“%s”,str);
因为str是个string类
string转换char[]
str=“无聊啊无聊”;
strcpy(tagChar,str.c_str());
printf(“%s/n”,tagChar);
string转换CString;
cStr=str.c_str();
CString转换string
str=string(cStr.GetBuffer(cStr.GetLength()));
char*转换CString
cStr=pChar;
CString转换char*
pChar=cStr.GetBuffer(cStr.GetLength());
CString转换char[]
strncpy(tagChar,(LPCTSTR)CString,sizeof(tagChar));
CString转换wchar_t*
pWideChar=cStr.AllocSysString();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- stringwstringcstring char tcharintdword转换方法 tcharintdword 转换 方法
![提示](https://static.bdocx.com/images/bang_tan.gif)
链接地址:https://www.bdocx.com/doc/18070178.html