C++学习——CString,char * ,string的相互转换

C++学习——CString,char * ,string的相互转换CString头文件#include <afx.h>string头文件#include <string.h>1、CString转char *CString cstr;char *p =(LPSTR)(LPCTSTR)cstr;2、string转 CStringCString.format(”%s”, string.c_str());用c_str()确实比dat…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

CString头文件#include <afx.h>

string头文件#include <string.h>

1、CString转char *

CString cstr;

char *p =(LPSTR)(LPCTSTR)cstr;

2、string转 CString
CString.format(”%s”, string.c_str());

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

3、char转 CString
CString.format(”%s”, char*);

4、char转 string
string s(char *);

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

5、string转 char *
char *p = string.c_str();

6、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]之间的转换

1、CString互转int

(1)将字符转换为整数,可以使用atoi、_atoi64或atol。
(2)将数字转换为CString变量,可以使用CString的Format函数。如
CString s;
int i = 64;
s.Format(”%d”, i)
Format函数的功能很强,值得你研究一下。

voidCStrDlg::OnButton1()
{ 
   
   // TODO: Add your control notificationhandler code here
   CString
   ss=1212.12;
   int temp=atoi(ss);
   CString aa;
   aa.Format(%d”,temp);
   AfxMessageBox(”var is ” + aa);
}

sart.Format(%s”,buf);

2、CString互转char*

CString strtest;
char * charpoint;

///char * TO cstring
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就可以了。

3、CString转换 char[100]

///char[100] TOcstring

char a[100];
CString str(”aaaaaa”);

///cstring TO char[100]

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/170944.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号