博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转】C++ int,char,string,CString类型转换(整理总结)
阅读量:4986 次
发布时间:2019-06-12

本文共 1608 字,大约阅读时间需要 5 分钟。

#include <string>//使用C++标准库的string类时

using namespace std;//同上

#include <sstream>

#include <iostream>

#include <stdlib.h>//要将string类和int类型直接转换最好有这些包含,

                             //因为自己写一个转换函数比较方便,函数定义参考如下:

string getstring(const int n)

{

std::stringstream newstr;

newstr<<n;

return newstr.str();

}

string转CString

CString.format("%s",string.c_str());

char转CString

CString.format("%s",char*);

char转string

string s(char*);

string转char*

char* p=string.c_str();

CString转string

string s(CString.GetBuffer());

1,string->CString

CString.format("%s",string.c_str());

用c_str()确实比data()要好

2char->string

string(char*)

只能初始化,在不是初始化的地方最好还是用assign();

3, CString->string

string s(CString.GetBuffer());

GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间

《C++标准函数库》中说的

有三个函数可以将字符串的内容转换为字符数组的C_string

1.data(),返回没有'\0'的字符串数组

2.c_str(),返回有'\0'的字符串数组

3.copy()

 

CString与int,char*,char[100]之间的转换

CString与int,char*,char[100]之间的转换

CString互转int

将字符转换为整数,可以使用atoi、_atoi64或atol

而将数字转换为CString变量,可以使用CString的Format函数。

如:

CString s;

int i=64;

s.Format("%d",i);

Format函数的功能很强,值得研究

void CStrDlg::OnButton1()

{

CString ss="1212.12"

int temp=atoi(ss);

CString aa;

aa.Format("%d",temp);

AfxMessageBox("var is"+aa);

}

 

sart.Format("%s",buf);

CString互转char*

CString strtest;

char* charpoint;

charpoint="give string a value";

strtest=charpoint;

//cstring To char*

charpoint=strtest.GetBuffer(strtest.GetLength());

标准C里没有string,char*==char[]==string

可以用CString.Format("%s",char*)这个方法来将char*转成CString。用操作符(LPCSTR)CString就可以了。

CString转换char[100]

char a[100];

CString str("aaaaa");

strncpy(a,(LPcSTR)str,sizeof(a));

 

}

转载于:https://www.cnblogs.com/rooney/archive/2012/07/06/2578894.html

你可能感兴趣的文章
(十)、iptables进行转发使内网能上网
查看>>
python之路《八》装饰器
查看>>
maven 打包前 Junit 测试
查看>>
spring boot 添加druid
查看>>
SQL联合查询
查看>>
dev 控件之 gridcontrid 应用
查看>>
什么是同一网段
查看>>
温故而知新
查看>>
c# 菱形,三角形
查看>>
java之MD5加密
查看>>
Codeforces Round #432 (Div. 2) ABC
查看>>
python跨行 print:多用(),换行符\要小心,少用+或者不用(其它程序代码跨行用\就行,不能用括号)...
查看>>
自己不懂的SQL语句用法
查看>>
C++ 函数指针
查看>>
.NET调用新浪微博开放平台接口的代码示例(转)
查看>>
四种百度文库资源直接下载的方法!不用代码,不用券!一键搞定!
查看>>
数据库-包和包体
查看>>
软件的知识产权保护
查看>>
7.20-7.24
查看>>
Bower前端包管理器
查看>>