错误 不存在从 “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;

}


目录
相关文章
|
2月前
|
SQL 索引
在 SQL Server 中使用 STRING_AGG 函数
【8月更文挑战第5天】
704 2
在 SQL Server 中使用 STRING_AGG 函数
|
15天前
|
索引
Sass String(字符串) 函数
Sass String(字符串) 函数用于处理字符串并获取相关信息。
26 1
|
2月前
|
编译器 C++ 容器
【C++】String常见函数用法
【C++】String常见函数用法
|
2月前
|
存储 Serverless 数据处理
Python - len(string)函数
通过上述介绍和示例,我们可以清楚地看到,在Python中,`len()`函数是处理字符串以及其他可迭代对象长度的重要工具。它简单、易用,但在实际应用中却非常强大,无论是在基础编程还是在复杂的数据处理中,`len()`函数都扮演着不可或缺的角色。
55 10
|
2月前
|
存储 C++
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
33 0
|
3月前
|
C++
C++ string中的函数和常用用法
C++ 中string中的函数和常用用法
31 4
|
2月前
|
安全 编译器 C++
【剑指offer】2.2编程语言(p22-p25)——面试题1:string赋值运算函数
【剑指offer】2.2编程语言(p22-p25)——面试题1:string赋值运算函数
|
3月前
|
存储 C++
【C++】string类的使用③(非成员函数重载Non-member function overloads)
这篇文章探讨了C++中`std::string`的`replace`和`swap`函数以及非成员函数重载。`replace`提供了多种方式替换字符串中的部分内容,包括使用字符串、子串、字符、字符数组和填充字符。`swap`函数用于交换两个`string`对象的内容,成员函数版本效率更高。非成员函数重载包括`operator+`实现字符串连接,关系运算符(如`==`, `&lt;`等)用于比较字符串,以及`swap`非成员函数。此外,还介绍了`getline`函数,用于按指定分隔符从输入流中读取字符串。文章强调了非成员函数在特定情况下的作用,并给出了多个示例代码。
|
4月前
|
安全 C++
C++一分钟之-字符串处理:std::string
【6月更文挑战第25天】`std::string`是C++文本处理的核心,存在于`&lt;string&gt;`库中。它支持初始化、访问、连接、查找、替换等操作。常见问题包括空指针解引用、越界访问和不当内存管理。要安全使用,确保字符串初始化,用`at()`检查边界,用`.empty()`检查空字符串,且无需手动释放内存。高效技巧包括预先分配内存、利用互转函数以及使用迭代器。记得正确比较和遍历字符串以保证代码效率和安全性。
63 5
|
4月前
|
C++ 容器
【C++语言】String 类关键函数实现,手搓一个简单字符串类!
【C++语言】String 类关键函数实现,手搓一个简单字符串类!