21xrx.com
2024-12-23 01:58:23 Monday
登录
文章检索 我的文章 写文章
C++中如何将字符串转换为字节?
2023-06-27 15:22:16 深夜i     --     --
C++ 字符串 字节 转换

在C++中,将字符串转换为字节可以使用多种方法。其中一种方法是使用C++标准库中的Byte Array(字节数组)。

使用字节数组的方法如下:


#include <iostream>

#include <cstring>

int main()

{

  char str[] = "Hello, World!";

  unsigned char byte_array[sizeof(str)];

  std::memcpy(byte_array, str, sizeof(str));

  for(int i = 0; i < sizeof(str); i++)

    std::cout << std::hex << (int)byte_array[i] << " ";

  return 0;

}

在上面的代码中,我们使用了`std::memcpy()`函数将字符串`str`的内容复制到了一个无符号字符型的字节数组`byte_array`中。然后,我们使用了一个for循环来遍历字节数组并打印出每个字节的十六进制表示。

另外,如果你使用的是C++11或更新版本,你可以将字符串转换为 `std::vector `(无符号字符型的向量)对象:


#include <iostream>

#include <vector>

int main()

{

  std::string str = "Hello, World!";

  std::vector<unsigned char> byte_vector(str.begin(), str.end());

  for(auto i : byte_vector)

    std::cout << std::hex << (int)i << " ";

  return 0;

}

在这个例子中,我们首先使用了一个std::string来存储字符串。然后,我们使用了`std::vector `对象和一个范围for循环来将字符串转换为一个无符号字符型向量并打印它们的十六进制表示。

总而言之,使用C++标准库的Byte Array或Vector来将字符串转换为字节是一个简单而有效的方法。它们不仅易于使用,而且还可以提高程序的性能。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复