- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我知道这是个简单的问题,但我尝试了很多方法,在所有这些方法中我都丢失了数据,文本数据,而不是每个字节后的尾随 0。
我使用 GetBuffer(0)
将 CString
转换为 wchar_t
,仍然没有成功。我无法获得正确的 LPBYTE
。
最后我需要它是const LPBYTE
,但我认为通过简单转换LPBYTE
我可以获得const LPBYTE
。
那么你能帮我把 CString
或 wchar_t
转换成 LPBYTE
数组吗?
谢谢
最佳答案
如果您想将 CString
的内容“看”为 BYTE
的简单“原始”序列(数组),您可以使用 CString::GetString()
方法获取指向第一个 CString
字符的指针,然后转换为 const BYTE*
:
CString str;
....
const BYTE* pb = reinterpret_cast<const BYTE*>(str.GetString());
如果您想将单个wchar_t
“看”为BYTE
的序列,您可以获取它的地址并再次转换为const BYTE*
:
wchar_t wch;
....
const BYTE* pb = reinterpret_cast<const BYTE*>(&wch);
但是如果你想从 Unicode UTF-16 转换成另一种编码如 UTF-8,你可能想使用一些 conversion helpers like CW2A
:
CString strUtf16; // Assume UNICODE builds (the default since VS2005)
....
// Convert from UTF-16 to UTF-8
CW2A strUtf8( strUtf16, CP_UTF8 );
// Convert (cast) to const BYTE*
const BYTE* pb = reinterpret_cast<const BYTE*>( static_cast<const char*>(strUtf8) );
关于C++ 将 unicode CString 或 wchar_t 转换为 LPBYTE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14403908/
LPBYTE buffer = (LPBYTE)calloc(1024, sizeof(char)); std::string res; 我想要这样的东西: res = buffer; 最佳答案 您可
我有以下代码在尝试构建应用程序时生成错误: #define LPAFDU LPBYTE; typedef struct appAfDataIndIeee_tag { integrPktHead
我正在从注册表中查询数据,它被输出为 LPBYTE,这就是我遇到的问题。我需要将 LPBYTE 转换为一种我可以操作的数据类型,例如字符串。 到目前为止,这是我的代码 HKEY hk; string
我需要将 int 值转换为 LPBYTE。当我查看定义时,显示如下。我不确定 far 是什么意思。 typedef unsigned char BYTE; typedef BYTE far
我正在使用 CryptProtectData 函数加密数据,我正在获取 LPBYTE 格式的加密数据,我想将该数据保存到一个文件中,然后读回以进行解密。 为了在文件中写入字符串,我使用以下方法将 LP
请原谅我的问题很简单,我不习惯使用 Windows 类型。 我有一个 LPBYTE 缓冲区,我希望将它的每个字节与另一个字节进行异或运算。 在 C++ 中获取缓冲区长度并遍历它的正确方法是什么?我正在
这个问题在这里已经有了答案: const TypedeffedIntPointer not equal to const int * (2 个答案) 关闭 9 年前。 当我编译下面的代码(只是一个例
我最近在学习一个程序时遇到了这些术语。我知道它们是数据类型...? 是真的吗? 能否请您解释一下这些术语的真正含义?我没有找到他们的文档。 最佳答案 I have not found there do
我有一个没有 MFC 支持的 MS VC++ 程序。 (这就是为什么使用 std::wstring 而不是 CString 的原因。) 我正在使用这种方法将数据流式传输到 richedit: DWOR
将 std::string 转换为 LPBYTE 以使此代码正常工作的正确方法是什么? string Name; string Value; RegEnumValueA(hKey, 0, const_
如何将 LPBYTE 转换为 char * 或字符串?具体来说,我正在调用 EnumPrinterDataEx(),并从中取出 pData,并希望对其进行转换。当我尝试使用 wcstombs() 进行
我知道这是个简单的问题,但我尝试了很多方法,在所有这些方法中我都丢失了数据,文本数据,而不是每个字节后的尾随 0。 我使用 GetBuffer(0) 将 CString 转换为 wchar_t,仍然没
我正在处理一个 C 项目,但遇到了问题。该程序读取 .php 页面回显的字符串。它使用这个代码读取数据并将其指定给一个变量,该变量将发送到 Commands() 函数: LPSTR szBuffer=
如何将 LPBYTE 转换为 char [256]? 当我从 Windows 注册表值读取时: blah REG_SZ "blah some text" char value[256]; DWORD
我有一个 LPBYTE 数组(从文件中获取),我需要将它复制到 LPTSRT(实际上是复制到剪贴板)。问题是复制工作但不稳定,有时会抛出异常(不总是),我不明白为什么。代码是: FILE *
我正在努力将 Windows DLL 转换为 Linux SO。我已将所有 BYTE 类型转换为 unsigned char,将 LPBYTE 类型转换为 unsigned char*。 编译器在一个
我是一名优秀的程序员,十分优秀!