(1)在ANSI字符集下

LPCTSTR想当于LPCSTR,当中L指long。P指Point,C指Const。在程序中能够直接用char*类型的数据对LPCSTR进行赋值,用下述语句:

LPCSTR a1= "abc";

string a2 = "abcde";

a1 = a2.c_str();

(2)在Unicode字符集下

LPCTSTR相当于LPCWSTR。它相当于wchar_t。能够用下述的语句对它进行赋值

LPCWSTR a1;

wstring a2;

a1 = a2.c_str();

(3)把ANSI字符串转换成Unicode字符集,能够用例如以下函数

wstring ANSIToUnicode(string str)
{
int lengthW = MultiByteToWideChar(CP_ACP,0,str.c_str(),-1,NULL,NULL);
wchar_t* pUnicode = new wchar_t [lengthW*sizeof(wchar_t)];
memset(pUnicode,0,lengthW*sizeof(pUnicode));
MultiByteToWideChar(CP_ACP,0,str.c_str(),-1,pUnicode,lengthW);
wstring strw = pUnicode;
delete[] pUnicode;
return strw;
}

当中。主要用了MultiByteToWideChar()函数。这个函数的详细使用方法。请查相关资料。

string 转 LPCTSTR的更多相关文章

  1. Windows中使用CopyFile函数复制文件,出现string转LPCTSTR问题(附代码)

    原因: 同一张图片,用imread读取,imwrite重新写入另外一个文件夹,然后再次读取发现前后异常,这是因为读取后转成Mat格式,然后写入转成图片格式,这个过程会对图片产生损失. 因此后来采用直接 ...

  2. CDuiString和String的转换

    很多时候 难免用到CDuiString和string的转换. 我们应该注意到,CDuiString类有个方法: LPCTSTR GetData() const; 可以通过这个方法,把CDuiStrin ...

  3. Cpp读文件、CString转String、String转CString

    场景 C++读取文件 技术点 读取文件 fstream提供了三个类,用来实现c++对文件的操作.(文件的创建.读.写). ifstream -- 从已有的文件读入 ofstream -- 向文件写内容 ...

  4. 实战c++中的string系列--CDuiString和string的转换(duilib中的cduistring)

    使用所duilib的人定会知道cduistring类型,先看看这个类是怎么定义的: class UILIB_API CDuiString { public: enum { MAX_LOCAL_STRI ...

  5. Windows数据类型

    WORD:16位无符号整形数据 DWORD:32字节无符号整型数据(DWORD32) DWORD64:64字节无符号整型数据 INT:32位有符号整型数据类型 INT_PTR:指向INT数据类型的指针 ...

  6. Bitset 用法(STL)

    std::bitset是STL的一个模板类,它的参数是整形的数值,使用位的方式和数组区别不大,相当于只能存一个位的数组.下面看一个例子 bitset<20> b1(5); cout< ...

  7. Windows API 磁盘

    这里的磁盘就是你的C,D,E,F,G盘啦 那么来看看吧windows Api来获取信息的呢 (1)DWORD GetLogicalDrives(void) 返回值是一个32位整形 32位每一位表示一个 ...

  8. 【整理】c# 调用windows API(user32.dll)

    User32.dll提供了很多可供调用的接口,大致如下(转自http://blog.csdn.net/zhang399401/article/details/6978803) using System ...

  9. MFC任务管理器task manager----进程的挂起与恢复--NtSuspendProcess&&NtResumeProcess

    http://hi.baidu.com/xbbsh/blog/item/b73d3125462201084c088db1.html ---------------------------------- ...

随机推荐

  1. JAVA基础之List接口

    个人理解: list接口是Collection接口的子类,其继承了Collection接口的所有方法,但也有其独有的方法,不过在迭代的时候不要进行任何操作.牢记数据存储的四种结构:堆栈.队列.数组.链 ...

  2. jQuery.parseHTML() 函数

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. php+mysql两次左外联跨表查询

    代码如下: $querySel="select * from roomsy rsy left join room ro on rsy.RoomID=ro.ID left join hotel ...

  4. 卸载django

    首先找到django安装路径 Python import sys; sys.path = sys.path[1:]; import django; print(django.__path__) 得到 ...

  5. EasyMvc入门教程-基本控件说明(12)栏目导航

    栏目导航一般用来显示当前页面所在的模块层级位置关系,如下图所示: 当然也有前端网站作为小栏目导航,凡是没有绝对,只要不违和就好:),下面上代码: @{ var data = new List<N ...

  6. Android WiFi开发教程(一)——WiFi热点的创建与关闭

    相对于BlueTooth,WiFi是当今使用最广的一种无线网络传输技术, 几乎所有智能手机.平板电脑和笔记本电脑都支持Wi-Fi上网.因此,掌握基本的WiFI开发技术是非常必要的.本教程将围绕一个小D ...

  7. [Android实例] Scroll原理-附ScrollView源码分析 (转载)

    想象一下你拿着放大镜贴很近的看一副巨大的清明上河图, 那放大镜里可以看到的内容是很有限的, 而随着放大镜的上下左右移动,就可以看到不同的内容了 android中手机屏幕就相当于这个放大镜, 而看到的内 ...

  8. Web支持可暂停的超大文件上传

    代码镇顶:https://github.com/dna2github/petalJS/blob/master/upload 前些天遇到用户须要上传10GB大小以上的文件的需求,查查网上的库.都不好用. ...

  9. 【LeetCode-面试算法经典-Java实现】【139-Word Break(单词拆分)】

    [139-Word Break(单词拆分)] [LeetCode-面试算法经典-Java实现][全部题目文件夹索引] 原题 Given a string s and a dictionary of w ...

  10. 算法-search

    O(big o) 是上限,是我们关注的算法的时间复杂度.数据量大,数据量涨一千倍,lgn的算法就是 耗费的时间就是10倍,o(n)就是一千倍,o(n2)就是一百万倍的差距 例一:Sequential ...