字符类型转换

来源:互联网 发布:2017nba西部决赛数据 编辑:程序博客网 时间:2024/06/06 17:49


1.1 CString,int,string,char*之间的转换
2.string 转 CString
3.CString.format("%s", string.c_str());
4.
5.char 转 CString
6.CString.format("%s", char*);
7.
8.char 转 string
9.string s(char *);
10.
11.string 转 char *
12.char *p = string.c_str();
13.
14. // CString转std::string
15. CString str = dlg.GetPathName();
16. setlocale(LC_ALL, "chs");
17. char *p = new char[256];
18. wcstombs( p, str, 256 );
19. m_fileName = p;
20.
21.1,string -> CString
22.CString.format("%s", string.c_str());
23.用c_str()确实比data()要好.
24.2,char -> string
25.string s(char *);
26.你的只能初始化,在不是初始化的地方最好还是用assign().
27.3,CString -> string
28.string s(CString.GetBuffer());
29.GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间.
30.
31.
32.《C++标准函数库》中说的
33.有三个函数可以将字符串的内容转换为字符数组和C—string
34.1.data(),返回没有”\0“的字符串数组
35.2,c_str(),返回有”\0“的字符串数组
36.3,copy()
37.
38.
39.CString互转int
40.
41.将字符转换为整数,可以使用atoi、_atoi64或atol。
42.而将数字转换为CString变量,可以使用CString的Format函数。如
43.CString s;
44.int i = 64;
45.s.Format("%d", i)
46.Format函数的功能很强,值得你研究一下。
47.
48.void CStrDlg::OnButton1()
49.{
50.// TODO: Add your control notification handler code here
51.CString
52.ss="1212.12";
53.int temp=atoi(ss);
54.CString aa;
55.aa.Format("%d",temp);
56.AfxMessageBox("var is " + aa);
57.}
58.
59.sart.Format("%s",buf);
60.
61.CString互转char*
62.
63.///char * TO cstring
64.CString strtest;
65.char * charpoint;
66.charpoint="give string a value";
67.strtest=charpoint;
68.
69.
70.///cstring TO char *
71.charpoint=strtest.GetBuffer(strtest.GetLength());
72.
73.标准C里没有string,char *==char []==string
74.
75.可以用CString.Format("%s",char *)这个方法来将char *转成CString。要把CString转成char *,用操作符(LPCSTR)CString就可以了。
76.
77.
78.CString转换 char[100]
79.
80.char a[100];
81.CString str("aaaaaa");
82.strncpy(a,(LPCTSTR)str,sizeof(a));
83.2 CString类型的转换成int
84.CString类型的转换成int
85.将字符转换为整数,可以使用atoi、_atoi64或atol。
86.
87.//CString aaa = "16" ;
88.//int int_chage = atoi((lpcstr)aaa) ;
89.
90.
91.而将数字转换为CString变量,可以使用CString的Format函数。如
92.CString s;
93.int i = 64;
94.s.Format("%d", i)
95.Format函数的功能很强,值得你研究一下。
96.如果是使用char数组,也可以使用sprintf函数。
97.
98.//CString ss="1212.12";
99.//int temp=atoi(ss);
100.//CString aa;
101.//aa.Format("%d",temp);
102.
103.
104.数字->字符串除了用CString::Format,还有FormatV、sprintf和不需要借助于Afx的itoa
105.
106.3 char* 在装int
107.#include <stdlib.h>108.
109.int atoi(const char *nptr);
110.long atol(const char *nptr);
111.long long atoll(const char *nptr);
112.long long atoq(const char *nptr);
113.
114.4 CString,int,string,char*之间的转换
115.string aa("aaa");
116.char *c=aa.c_str();
117.
118.
119.cannot convert from 'const char *' to 'char *'
120.const char *c=aa.c_str();
121.
122.5 CString,int,string,char*之间的转换
123.string.c_str()只能转换成const char *,
124.要转成char *这样写:
125.
126.string mngName;
127.char t[200]; memset(t,0,200); strcpy(t,mngName.c_str());
原创粉丝点击