错误 不存在从 “std::string“ 到 “LPCSTR“ 的适当转换函数

简介: 错误 不存在从 “std::string“ 到 “LPCSTR“ 的适当转换函数

遇到这样的问题需要将std:string类型转为LPCSTR类型。


标准库的std::string转换成LPCSTR很简单:直接调用c_str()即可。例:

std::string a="abc";

LPCSTR str = a.c_str();


还有一种情况是wstring


标准库还有一个wstring,代表宽字符的string,std::wstring转换成LPCWSTR也一样很简单:

std::wstring a = L"abc";

LPCWSTR str = a.c_str();


再加一种情况:


不存在从 “std::string” 到 “LPCWSTR” 的适当转换函数


#include <string>

#include <iostream>

#include<cstdlib>

typedef const wchar_t* LPCWSTR;//#include<winnt.h>

using namespace std;

LPCWSTR stringToLPCWSTR(string orig)

{

   size_t origsize = orig.length() + 1;

   const size_t newsize = 100;

   size_t convertedChars = 0;

   wchar_t* wcstring = new wchar_t[sizeof(wchar_t) * (orig.length() - 1)];

   mbstowcs_s(&convertedChars, wcstring, origsize, orig.c_str(), _TRUNCATE);

   return wcstring;

}

int main()

{

   string in = "dsfdsf";

   LPCWSTR out = stringToLPCWSTR(in);

   wcout << out << endl;

   //别忘了释放内存~

   delete out;

   out = nullptr;

   return 0;

}


目录
相关文章
|
1月前
|
Java 索引
String字符串常用函数以及示例 JAVA基础
String字符串常用函数以及示例 JAVA基础
|
1月前
|
编译器 容器
C++string类的介绍及常用函数用法总结
C++string类的介绍及常用函数用法总结
37 1
|
1月前
|
存储 缓存 测试技术
CMake String函数:如何巧妙地在cmake中操作字符串
CMake String函数:如何巧妙地在cmake中操作字符串
284 0
|
1月前
|
编译器 C++
【编码艺术:掌握String类函数接口的妙用指南】(三)
【编码艺术:掌握String类函数接口的妙用指南】
|
1月前
|
C语言 C++ 容器
【编码艺术:掌握String类函数接口的妙用指南】(一)
【编码艺术:掌握String类函数接口的妙用指南】
|
1月前
|
存储 Linux C语言
【编码艺术:掌握String类函数接口的妙用指南】(二)
【编码艺术:掌握String类函数接口的妙用指南】
|
1月前
|
存储 安全 API
C++ 17 新特性 C++ String View:了解C++ 17 std::string_view的使用场景
C++ 17 新特性 C++ String View:了解C++ 17 std::string_view的使用场景
112 2
|
21天前
|
C++
7.C++中string的一些超常用函数 (附习题)
7.C++中string的一些超常用函数 (附习题)
|
11天前
|
C++ 容器
【C++语言】String 类关键函数实现,手搓一个简单字符串类!
【C++语言】String 类关键函数实现,手搓一个简单字符串类!
|
18天前
|
存储 程序员 C++
stoll函数和std::to_string函数
stoll函数和std::to_string函数
12 0