【发布时间】:2019-12-15 09:01:06
【问题描述】:
我正在尝试将字节数组转换为 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;
}
谁能指出我正确的方向?
【问题讨论】:
-
String 是一个以
'\0'结尾的字节数组。所以,是的,你也需要它的大小来容纳它。 -
你不是缺少一个空终止符吗?
-
@LeeDanielCrocker 请真正阅读这个问题,而不仅仅是代码。 OP 有 C++ 代码;但他们想知道如何在 C 中做同样的事情。
-
@Konrad 好的,很抱歉造成混乱。我看错了。
-
我将添加两个标签。任何不同意的人请在元here 上接受它,而不是通过编辑破坏这个问题。