转载:

1.https://blog.csdn.net/Joker_mw/article/details/79127790

2.https://blog.csdn.net/shelleyhuhu/article/details/5406703

char* 转换成string

char *pChar;
string str=pChar;

string转换成LPCSTR

LPCSTR lpcStr=str.c_str();

string转换成char*

string str;
char * pchar;
int len = str.length();
pchar = (char *)malloc((len + 1)*sizeof(char));
str.copy(pchar, len, 0);
*(pchar + len) = '\0';//注意手动加结束符!!!

https://blog.csdn.net/shelleyhuhu/article/details/5406703

1,LPCTSTR类型

L
    表示long指针 这是为了兼容Windows 3.1等16位操作系统遗留下来的。

P

表示这是一个指针

C
    表示是一个常量

T

表示_T宏,这个宏用来表示你的字符是否使用UNICODE, 如果你的程序定义了UNICODE或者其他相关的宏, 有时候注意加 _T()

那么这个字符或者字符串将被作为UNICODE字符,否则就是标准的ANSI字符串。

STR

表示这个变量是一个字符串

所以LPCTSTR就表示一个指向常固定地址的可以根据一些宏定义改变语义的字符串。const char *

CString 转LPCTSTR:

CString cStr;

const char *lpctStr=(LPCTSTR)cStr;

LPCTSTR转CString:

LPCTSTR lpctStr;

CString cStr=lpctStr;

CString 类

CString对象提供了动态内存分配机制,它是通过“引用”机制来管理分配的内存块,使用CString类可不指明内存大小,
CString会根据需要自行分配。
CSting类的常用操作:

1)、连接字符串

可以使用“+”连接两个字符串。

使用Insert函数可以在字符串的任意位置插入新的字符串,如下面的代码:

CString str1(“天王宝马”);

str1.Insert(4,“盖地虎/n");

str1+="镇河妖”;

AfxMessageBox(str1);

一个汉字在CString对象中的长度为2。

2)、比较字符串

可以使用Compare()函数比较两个字符串的大小。

int result=str1.Compare(str2);

按照对应的ASCII值比较、、、。

3)、查找字符串

可以使用CString类的Find()函数从字符串的指定位置开始,查找指定字符或字符串,返回字符所在字符串的位置。

4)、提取字符串

使用CString类的Left()、Mid()和Right()函数,可以从一个字符串的左边,中间,右边位置开始提取字符串。。

5)、变换字符串

使用CString类的MakeUpper()。MakeLower()函数可以变换字符串的大小写。

使用TrimLeft()和TrimRight()函数去除字符串前后的空格、、

CString类还有其他的一些常用的操作,如替换、删除制定字符串、提取、处理单个字符串等等。

CString的格式化与类型转换:

使用CString类的Format()函数可以将数字格式化为字符串。

Format()函数的调用的一般形式为:

str.Format(“格式控制字符串”,输出内容)
   格式字符串的一半形式为:

【标志】【输出最小宽度】【精度】【长度】转换说明符

CString类型字符串也可以转换为其他类型

(1)转换为整型。可以使用atoi()函数靓啊CSring数字字符转换为整型。

(2)转换为char *类型。

几种方法:使用GetBuffer()函数:返回一个CString对象的指针

使用memcpy()函数;

使用LPCTSTR强制类型转换

LPCTSTR类型和字符串的更多相关文章

  1. Sass插值、注释、数剧类型、字符串、值类型

    插值#{}使用 CSS 预处理器语言的一个主要原因是想使用 Sass 获得一个更好的结构体系.比如说你想写更干净的.高效的和面向对象的 CSS.Sass 中的插值(Interpolation)就是重要 ...

  2. QT枚举类型与字符串类型相互转换

    在QT中将枚举类型注册(QT_Q_ENUM或QT_Q_FLAG)后,就可以利用QT的元对象进行枚举类型与字符串类型转换了. 代码示例: #include <QtCore/QMetaEnum> ...

  3. Redis 小白指南(二)- 基础命令和五大类型:字符串、散列、列表、集合和有序集合

    Redis 小白指南(二)- 基础命令和五大类型:字符串.散列.列表.集合和有序集合 引言 目录 基础命令 字符串类型 散列类型 列表类型 集合类型 有序集合类型 基础命令 1.获得符合规则的键名列表 ...

  4. MySQL (二)-- 数据类型(列类型)、数值类型、 小数类型、 时间日期类型、 字符串类型 、 MySQL记录长度、列属性

    1 数据类型(列类型) 所谓的数据类型:对数据进行统一的分类,从系统的角度出发是为了能够使用统一的方式进行管理,更好的利用有限的空间. SQL中将数据类型分成了三大类: 2 数值类型 数值类型数据:都 ...

  5. Redis 小白指南(二)- 聊聊五大类型:字符串、散列、列表、集合和有序集合

    Redis 小白指南(二)- 聊聊五大类型:字符串.散列.列表.集合和有序集合 引言 开篇<Redis 小白指南(一)- 简介.安装.GUI 和 C# 驱动介绍>已经介绍了 Redis 的 ...

  6. sql server 删除所有表和递归查询、数字类型转为字符串

    1.删除所有表 select 'drop table '+name+';' from sys.tables where name like 'DataSyncV1DelaySample%' or na ...

  7. for循环,数字类型,字符串类型

    for 循环: l=['a','b','c'] for i in l : print(i) while循环和for循环 while循环:条件循环,循环的次数取决于条件何时为False for循环:循环 ...

  8. Date类型与字符串之间的转换

    Java中Date类型与字符串转化   (一)Date与字符串的转化   Date.String.Timestamp之间的转换!   public static void main(String[]  ...

  9. { MySQL基础数据类型}一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型

    MySQL基础数据类型 阅读目录 一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型 一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己 ...

随机推荐

  1. React State

    React 里只需要更新组件的state,然后根据新的 state 重新徐娜然用户界面(不要操作DOM). class Clock extends React.Component { construc ...

  2. ArcGIS Pro 二次开发

    本文基于 Windows7 + VS2019 + .NET Framework 4.8 + ArcGIS Pro 2.5.22081 开发和撰写. 目录 开发环境配置 获取ArcGIS Pro 安装V ...

  3. Spark保存的时候怎么去掉多余的引号转义

    今天用SparkSQL保存一份json数据的时候,引号被转义了,并用括号包起来了,导致下游新来的小伙伴无法处理这份数据. 保存后的数据长这样(用\t分割): data "{\"ke ...

  4. F - 丘 (欧拉函数)

    Chinese people think of '8' as the lucky digit. Bob also likes digit '8'. Moreover, Bob has his own ...

  5. 下拉列表被flash覆盖的解决方法

    做鼎闻有一段时间了,有的banner轮播图的地方用flash替换的时候,就会导致上面的导航条下拉列表被flash覆盖,找了一段时间没有得到有效的解决方法,后来知道关键是flash的这一属性{ &quo ...

  6. 8svg 自定义全局组件

    0.https://www.npmjs.com/package/vue2-svg-icon 直接使用vue2-svg-icon插件 .如果不使用,就使用下面用法 注意:用阿里图标时候,最好都选择#ff ...

  7. C#程序执行时设置刷新等待

    背景 C#在进行某些调用操作时需要隐藏背景,等待刷新. 步骤 1.前端设置 <!--Loading Mask Region--> <div> <div id=" ...

  8. PHP的九个超全局变量

    1. 什么是超全局变量 PHP官网:超全局变量 超全局变量就是在全部作用域中始终可用的内置变量. 全局作用域.函数作用域都可以使用的PHP内置变量. 在函数或方法中无需执行 global $varia ...

  9. 藏在Java数组的背后,你可能忽略的知识点

    目录 引言 概念 区别于C/C++数组 区别于容器 数组特性 随机访问 Java数组与内存 解惑 数组的本质 Java中的数组是对象吗? Java中数组的类型 Java中数组的继承关系 参考资料 引言 ...

  10. 尤雨溪:TypeScript不会取代JavaScript

    来源 |evrone.com译者 | 核子可乐策划 | 蔡芳芳 近日,Evrone 与 Vue.js 的作者尤雨溪进行了一次访谈,了解他对于无后端与全栈方法.以及 Vue.js 适用场景的看法,还有他 ...