std::ostringstream to LPCSTR?
std::ostringstream to LPCSTR?
如何将std::ostringstream
转换为LPCSTR
std::ostringstream oss;
[...]
LPCSTR result = oss.str();
Result: Error: No suitable conversion function from "std::basic_string<char, std::char_traits<char>, std::allocator<char>>" to "LPCSTR" exists
像这样:
std::string str = oss.str();
LPCSTR cstr = str.c_str();
注意,您的cstr
仅在str
的下一次修改之前保持有效。例如,你不能从函数返回cstr
,因为str
是一个左作用域的局部变量。
从这个函数返回LPCSTR
,而不是返回std::string
。如果返回LPCSTR
,这样可以避免处理生命周期问题。如果您返回LPCSTR
,则必须分配内存并确保已将其释放。这正是你不想在c++代码中做的事情。因此,在调用Windows API函数时,返回std::string
并在该对象上调用c_str()
。
相关文章:
- 如何将一个ostringstream十六进制字符串字符对转换为单个unit8t等价的二进制值
- 为什么类中的ostringstream类型的成员会导致";调用隐含删除复制构造函数";错误
- 'HMODULE LoadLibraryA(LPCSTR)':无法将参数 1 从 'const _Elem *' 转换为 'LPCSTR'
- 如何将 std::filesystem::p ath 转换为 LPCSTR,以便在 LoadLibrary() 变体之一
- 连接 LPCSTR 变量和文字?
- 如何在C++中编写 ostream 的向量,它接收所有不同的输出流,如 cout、ostringstream 和 ofs
- 如何将常量字符*作为参数传递给LPCSTR参数?
- 如何将字符串类型转换为 ostringstream
- 无法将"wchar_t"转换为"LPCSTR"
- 打印出ostringstream缓冲区
- TCHAR Array to a concatenate LPCSTR
- 从ostringstream获取最长行的字符数的智能方法
- 将双精度的科学记数法附加到 ostringstream 时如何关闭它?
- 使用 C++ fmtlib,有没有比使用 std::ostringstream 更干净的方法来将数据序列附加到字符串中
- 将C弦发送到非效果STD :: OSTRINGSTREAM怪异行为
- 为什么简单地使用 ostringstream 会生成如此多的汇编代码
- C++ ostringstream.str().c_str()
- 如何使用OSTRINGSTREAM将C 中的十六进制字符串记录
- 任何无需复制即可从 std::ostringstream 获取 std::string_view 的方法
- std::ostringstream to LPCSTR?