转载:

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. GLSL 着色器程序

    除了使用Cg/HSL 着色器程序以外, OpenGL 着色器语言(GLSL)着色器可以直接书写shader. 然而,使用原生的GLSL只推荐作为测试使用,或者你清晰的知道你的目标平台是 Mac OS ...

  2. 在Fragment 中拦截返回键

    代码如下: class XXXFrgmt : Fragment() { override fun onCreateView( inflater: LayoutInflater, container: ...

  3. 2019HNCPC C Distinct Substrings 后缀自动机

    题意 给定一个长度为n字符串,字符集大小为m(1<=n,m<=1e6),求\(\bigoplus_{c = 1}^{m}\left(h(c) \cdot 3^c \bmod (10^9+7 ...

  4. [Python]打印指定目录下所有子目录

    import os for root,dirs,files in os.walk(r"/home/os-hy01"): for dir in dirs: print(dir) -- ...

  5. Java 根据两个经纬度,得到两点距离

    private static final double EARTH_RADIUS = 6371000;//赤道半径(单位m)private static final double INTEGR_NUM ...

  6. pytest132个命令行参数用法

    在Shell执行pytest -h可以看到pytest的命令行参数有这10大类,共132个 序号 类别 中文名 包含命令行参数数量 1 positional arguments 形参 1 2 gene ...

  7. jmeter服务器监控磁盘IO、网络-PerfMon Metrics Collector

    1.jmeetr客户端安装jp@gc - PerfMon Metrics Collector 先安装jmeter-plugins 启动jmeter ——> 客户端选项 ——> jmeter ...

  8. 在腾讯云云函数计算上部署.NET Core 3.1

    云厂商(腾讯云.Azure等)提供了Serverless服务,借助于Serverless,开发人员可以更加专注于代码的开发,减少运维的成本.腾讯云的函数计算提供了很多运行库,对.NET的支持需要通过c ...

  9. 【NOIP2014模拟】高级打字机

    题目描述 早苗入手了最新的高级打字机.最新款自然有着与以往不同的功能,那就是它具备撤销功能,厉害吧. 请为这种高级打字机设计一个程序,支持如下3种操作: T x:在文章末尾打下一个小写字母x.(typ ...

  10. 你必须要知道的babel二三事

    1. 什么是babel 本文基于的babel版本是7.11.6,本文所有示例github Babel is a toolchain that is mainly used to convert ECM ...