LPCTSTR类型和字符串
转载:
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类型和字符串的更多相关文章
- Sass插值、注释、数剧类型、字符串、值类型
插值#{}使用 CSS 预处理器语言的一个主要原因是想使用 Sass 获得一个更好的结构体系.比如说你想写更干净的.高效的和面向对象的 CSS.Sass 中的插值(Interpolation)就是重要 ...
- QT枚举类型与字符串类型相互转换
在QT中将枚举类型注册(QT_Q_ENUM或QT_Q_FLAG)后,就可以利用QT的元对象进行枚举类型与字符串类型转换了. 代码示例: #include <QtCore/QMetaEnum> ...
- Redis 小白指南(二)- 基础命令和五大类型:字符串、散列、列表、集合和有序集合
Redis 小白指南(二)- 基础命令和五大类型:字符串.散列.列表.集合和有序集合 引言 目录 基础命令 字符串类型 散列类型 列表类型 集合类型 有序集合类型 基础命令 1.获得符合规则的键名列表 ...
- MySQL (二)-- 数据类型(列类型)、数值类型、 小数类型、 时间日期类型、 字符串类型 、 MySQL记录长度、列属性
1 数据类型(列类型) 所谓的数据类型:对数据进行统一的分类,从系统的角度出发是为了能够使用统一的方式进行管理,更好的利用有限的空间. SQL中将数据类型分成了三大类: 2 数值类型 数值类型数据:都 ...
- Redis 小白指南(二)- 聊聊五大类型:字符串、散列、列表、集合和有序集合
Redis 小白指南(二)- 聊聊五大类型:字符串.散列.列表.集合和有序集合 引言 开篇<Redis 小白指南(一)- 简介.安装.GUI 和 C# 驱动介绍>已经介绍了 Redis 的 ...
- sql server 删除所有表和递归查询、数字类型转为字符串
1.删除所有表 select 'drop table '+name+';' from sys.tables where name like 'DataSyncV1DelaySample%' or na ...
- for循环,数字类型,字符串类型
for 循环: l=['a','b','c'] for i in l : print(i) while循环和for循环 while循环:条件循环,循环的次数取决于条件何时为False for循环:循环 ...
- Date类型与字符串之间的转换
Java中Date类型与字符串转化 (一)Date与字符串的转化 Date.String.Timestamp之间的转换! public static void main(String[] ...
- { MySQL基础数据类型}一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型
MySQL基础数据类型 阅读目录 一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型 一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己 ...
随机推荐
- LWPR
Scriptable Render Pipeline https://docs.unity3d.com/Manual/ScriptableRenderPipeline.html Unity轻量 ...
- JavaScript 究竟是怎样去执行的?
摘要: 理解 JS 引擎运行原理. 作者:前端小智 原文:搞懂 JavaScript 引擎运行原理 Fundebug经授权转载,版权归原作者所有. 一些名词 JS 引擎 — 一个读取代码并运行的引擎, ...
- cordova 环境配制和创建插件
环境配制 英文网站:http://cordova.apache.org/ 中文网站:http://cordova.axuer.com/ 安装Cordova Cordova的命令行运行在Node.js ...
- cg语言学习&&阳春白雪GPU编程入门学习
虽然所知甚少,但康大的<GPU编程与Cg编程之阳春白雪下里巴人>确实带我入了shader的门,在里面我第一次清晰地知道了“语义”的意思,非常感谢. 入门shader,我觉得可以先读3本书: ...
- Unity坐标系详解
1. World Space(世界坐标系): 我们在场景中添加的物体(如:Cube),他们都是以世界坐标显示在场景中.transform.position 获取的便是这个 坐标数值. 2. Scene ...
- MAC 上编译安装nginx-rtmp-module 流媒体服务器
MAC 上编译安装nginx-rtmp-module 流媒体服务器 记录踩坑过程 下载nginx和nginx-rtmp-module wget http://nginx.org/download/ng ...
- 用Maven给一个Maven工程打包,使用阿里云镜像解决mvn clean package出错的问题,使用plugin解决没有主清单属性的问题
本来在STS里做了一个极简Maven工程,内中只有一个Main方法的Java类,然后用新装的Maven3.6.3给它打包. 结果,Maven罢工,输出如下: C:\personal\programs\ ...
- Java8的日期时间处理
代码: package com.ufo.java8datetime; import java.time.Clock; import java.time.LocalDate; import java.t ...
- matplotlib | Python强大的作图工具,让你从此驾驭图表
今天是数据处理专题的第9篇文章,在之前的8篇文章当中我们已经介绍完了pandas这个库的一些基本用法,我们先把一些冷门的高级用法放一放,先来给大家介绍一下另外一个很有用的数据分析库--matplotl ...
- [LeetCode]1249. 移除无效的括号(字符串,栈)
题目 给你一个由 '('.')' 和小写字母组成的字符串 s. 你需要从字符串中删除最少数目的 '(' 或者 ')' (可以删除任意位置的括号),使得剩下的「括号字符串」有效. 请返回任意一个合法字符 ...