MFC/C++/C中字符类型CString, int, string, char*之间的转换
- 1 CString,int,string,char*之间的转换
- 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转std::string
- CString str = dlg.GetPathName();
- setlocale(LC_ALL, "chs");
- char *p = new char[256];
- wcstombs( p, str, 256 );
- m_fileName = p;
- 1,string -> CString
- CString.format("%s", string.c_str());
- 用c_str()确实比data()要好.
- 2,char -> string
- string s(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
- 将字符转换为整数,可以使用atoi、_atoi64或atol。
- 而将数字转换为CString变量,可以使用CString的Format函数。如
- CString s;
- int i = 64;
- s.Format("%d", i)
- Format函数的功能很强,值得你研究一下。
- void CStrDlg::OnButton1()
- {
- // TODO: Add your control notification handler code here
- CString
- ss="1212.12";
- int temp=atoi(ss);
- CString aa;
- aa.Format("%d",temp);
- AfxMessageBox("var is " + aa);
- }
- sart.Format("%s",buf);
- CString互转char*
- ///char * TO cstring
- 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。要把CString转成char *,用操作符(LPCSTR)CString就可以了。
- CString转换 char[100]
- char a[100];
- CString str("aaaaaa");
- strncpy(a,(LPCTSTR)str,sizeof(a));
- 2 CString类型的转换成int
- CString类型的转换成int
- 将字符转换为整数,可以使用atoi、_atoi64或atol。
- //CString aaa = "16" ;
- //int int_chage = atoi((lpcstr)aaa) ;
- 而将数字转换为CString变量,可以使用CString的Format函数。如
- CString s;
- int i = 64;
- s.Format("%d", i)
- Format函数的功能很强,值得你研究一下。
- 如果是使用char数组,也可以使用sprintf函数。
- //CString ss="1212.12";
- //int temp=atoi(ss);
- //CString aa;
- //aa.Format("%d",temp);
- 数字->字符串除了用CString::Format,还有FormatV、sprintf和不需要借助于Afx的itoa
- 3 char* 在装int
- #include <stdlib.h>
- int atoi(const char *nptr);
- long atol(const char *nptr);
- long long atoll(const char *nptr);
- long long atoq(const char *nptr);
- 4 CString,int,string,char*之间的转换
- string aa("aaa");
- char *c=aa.c_str();
- cannot convert from 'const char *' to 'char *'
- const char *c=aa.c_str();
- 5 CString,int,string,char*之间的转换
- string.c_str()只能转换成const char *,
- 要转成char *这样写:
- string mngName;
- char t[200]; memset(t,0,200); strcpy(t,mngName.c_str());
MFC/C++/C中字符类型CString, int, string, char*之间的转换的更多相关文章
- (转)CString,int,string,char*之间的转换
CString,int,string,char*之间的转换http://www.cnblogs.com/greatverve/archive/2010/11/10/cstring-int-string ...
- VC CString,int,string,char*之间的转换
CString转string : CString strMfc = "test"; std::string strStr; strStr = strMfc.GetBuffer(); ...
- 数据结构基础之memset---有memset 抛出的int 和 char 之间的转换和字节对齐
今天晚上,在做滤波算法时,里面用到很多float 和int 以及char 之间的类型强制转换,后面滤波完发现图片有些区域块,有过度曝光的白光,我就跟踪,以为是char 字符数字数据溢出问题,加了0-2 ...
- mfc CString,string,char* 之间的转换
知识点: CString转char*,string string转char*,CString char* 转CString,string 一.CString转char*,string //字串转换测试 ...
- CString,string,char*之间的转换(转)
这三种类型各有各的优点,比如CString比较灵活,是基于MFC常用的类型,安全性也最高,但可移植性最差.string是使用STL时必不可少的类型,所以是做工程时必须熟练掌握的:char*是从学习C语 ...
- 【转载】CString,string,char*之间的转换
本文转自 <> 这三种类型各有各的优点,比如CString比较灵活,是基于MFC常用的类型,安全性也最高,但可移植性最差.string是使用STL时必不可少的类型,所以是做工程时必须熟练掌 ...
- 【转】char*,string,CString,int,char[]之间的转换
CString 头文件#include <cstring>.CString 转char * CString cstr; ..data(),返回没有”/“的字符串数组..c_str(),返 ...
- Java进阶(二十三)java中long类型转换为int类型
java中long类型转换为int类型 由int类型转换为long类型是向上转换,可以直接进行隐式转换,但由long类型转换为int类型是向下转换,可能会出现数据溢出情况: 主要以下几种转换方法,供参 ...
- 浅谈C#语言中的各种数据类型,与数据类型之间的转换
什么是数据类型? 数据类型,百度百科是这样解释的:数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作.这样的解释对于一个初学者来说未必太过于深奥. 简单点说,数据类型就是不同长度的 ...
随机推荐
- hdoj 1237 模拟
计算器 Problem Description 读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值. Input 测试输入包含若干测试用例,每个测试用例占一行,每行不超过 ...
- https://www.cnblogs.com/gaoxiang12/p/3695962.html
https://www.cnblogs.com/gaoxiang12/p/3695962.html
- [CodeForces - 296D]Greg and Graph(floyd)
Description 题意:给定一个有向图,一共有N个点,给邻接矩阵.依次去掉N个节点,每一次去掉一个节点的同时,将其直接与当前节点相连的边和当前节点连出的边都需要去除,输出N个数,表示去掉当前节点 ...
- L2-032 彩虹瓶 (25 分)
L2-032 彩虹瓶 (25 分) 彩虹瓶的制作过程(并不)是这样的:先把一大批空瓶铺放在装填场地上,然后按照一定的顺序将每种颜色的小球均匀撒到这批瓶子里. 假设彩虹瓶里要按顺序装 N 种颜色的小 ...
- 零基础学css第二天
内边距与外边距: <!DOCTYPE html> <html> <head> <title></title> <style type= ...
- zeppelin之连接mysql
上面的一篇文章,对于zeppelin的使用,只是我们对于数据存储在文件中,每一次对于当我们连接数据库的时候都会有问题,今天刚好 把这个问题解决今天我们刚好来介绍如何使用zeppelin来与数据进行连接 ...
- html---Web Storage存储
在HTML5中,除了Canvas元素之外,另一个新增的非常重要的功能是可以在客户端本地保存数据的Web Storage功能,之前可以使用Cookies在客户端保存如用户名等简单用户信息,但通过长期使用 ...
- [网站公告]又拍云API故障造成图片无法上传
大家好,今天早上8:30左右发现又拍云API出现故障,造成图片无法上传,调用图片上传API时出现错误:“The operation has timed out”. 该故障给大家带来了麻烦,望大家谅解! ...
- Oz 创建Windows2008R2镜像
此tdl和auto文件只可定义windows disk bus以ide模式启动,不支持virtio. <template> <name>Windows-gushiren< ...
- 【转】在Unity中读写文件数据:LitJSON快速教程
作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 介绍 JSON是一个简单的,但功能强大的序列 ...