我正在尝试将字节数组转换为 C 中的字符串,但我无法弄清楚。
我有一个在 C++ 中对我有用的示例,但我需要将其转换为 C。
C++代码如下:
#include <iostream>
#include <string>
typedef unsigned char BYTE;
int main(int argc, char *argv[])
{
BYTE byteArray[5] = { 0x48, 0x65, 0x6C, 0x6C, 0x6F };
std::string s(reinterpret_cast<char*>(byteArray), sizeof(byteArray));
std::cout << s << std::endl;
return EXIT_SUCCESS;
}
谁能指出我正确的方向?
原文由 Dan James Palmer 发布,翻译遵循 CC BY-SA 4.0 许可协议
C 中的 字符串是以零结尾的字节数组。因此,您需要做的就是将数组复制到一个新缓冲区中,该缓冲区有足够的空间容纳尾随零字节: