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强制类型转换
最新文章
- Python or JavaScript 实现多级评论
- 初学c# -- 学习笔记(六) winfrom组件圆角
- 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
- LeetCode Potential Thought Pitfalls
- Megacli查看raid磁盘信息
- 01-06-01【Nhibernate (版本3.3.1.4000) 出入江湖】事务
- JavaScript学习总结【4】、JS深入
- 由 char()函数返回的 ASCII字符集中的功能/控制字符
- Oracle数据库运维优化六脉神剑口诀
- win10 系统下获取系统版本号为6.2的问题(manifest如何写)
- select下拉菜单反显不可改动,且submit能够提交数据
- Big Data Ingestion and streaming product introduction
- Scala编程入门---面向对象编程之Trait
- app:利用HBuilder打包webpack项目
- layui 笔记
- PHPExcel使用-使用PHPExcel导出文件
- Linux基础命令---more
- tornado.gen 模块解析
- 【C#小知识】C#中一些易混淆概念总结---------数据类型存储,方法调用,out和ref参数的使用
- Linux RAID简介
热门文章
- Android Studio开发工具常用快捷键。部分总结,不全面,只包含新手可能少用的
- springboot @valid与@validated的参数校验使用总结
- 深入了解Netty【三】Netty概述
- [BUUOJ记录] [GXYCTF2019]BabySQli
- C# 压缩源文件(导出源文件word文件)
- Java程序取MySQL的datetime字段,如何消除时间尾后讨厌的";.0";
- mysql通过经纬度查询400公里范围内的小区
- SpringBoot整合MinIO
- JumpServer 架构浅解
- Fliptile(POJ 3279)