![]() |
1
9
有两种内置字符串类型:
两者都可以用在C++代码中。大多数API(包括Windows)都是用C编写的,因此它们使用char指针而不是std::string类。 微软还隐藏了一些宏背后的这些指针。
LPCWSTR是一个
指向常量范围字符串的长指针
或者换句话说,a
LPSR是一个
指向字符串的长指针
或者换句话说,a
他们还有一把,但一旦你知道了前几把,就应该很容易猜到了。它们还具有*tstr变体,其中t用于指示这可能是常规字符或宽字符,这取决于项目中是否启用了Unicode。如果定义了unicode,lpctstr解析为lpcwstr,否则lpcstr解析为lpcwstr。 所以,实际上,在处理字符串时,您只需要知道我在顶部列出的两种类型。其余的只是用于char指针版本的各种变体的宏。 从char指针转换为字符串很简单:
而另一种方式则不怎么重要:
也就是说,
一些常用的库定义它们自己的字符串类型,在这些情况下,您必须检查文档,了解它们如何与“合适的”字符串类进行交互操作。
你应该更喜欢C++
|
![]() |
3
1
|
![]() |
4
0
欢迎使用C++;
您可以创建一个包装函数来接受
|
![]() |
5
0
两者都有
|
![]() |
6
0
你可能想看看 CStdString . 它是一个跨平台的标准c++ cstring实现,它很容易转换为其他大多数字符串类型。使几乎所有与字符串相关的头痛消失,它只是一个头文件。 |
![]() |
Ben · 统计向量中的单词在字符串中出现的频率 7 月前 |
![]() |
bear_525 · 从列中删除中间名和首字母,并保存在单独的列中 9 月前 |
![]() |
asdfadf · 为什么具有相同内存值的字符串和整数打印方式不同? 9 月前 |
![]() |
user764754 · 防止多行原始字符串文字中出现新行字符 9 月前 |
![]() |
Bogaso · 从列表中返回与模式匹配的元素 9 月前 |
![]() |
Jasco · 如何使用VBA提取两个相似字符之间的字符串中的单词? 9 月前 |