当前位置: 首页 > 知识库问答 >
问题:

将std::string转换为无符号字符[重复]

文国发
2023-03-14

我有这样一个字符串:

std::string s="840D8E88B0AC";

和一个数组

char MAC[6];

我想制作这个:

MAC={0x84,0x0D,0x8E,0x88,0xB0,0xAC};

我试着用sscanf(),但我做不到。

sscanf(s.c_str(), "%02X%02X%02X%02X%02X%02X", MAC[0], MAC[1], MAC[2], MAC[3], MAC[4], MAC[5]);

共有1个答案

陶弘业
2023-03-14

应该是(尽管有其他错误)

sscanf(s.c_str(), "%02X%02X%02X%02X%02X%02X", &MAC[0], &MAC[1], &MAC[2], 
    &MAC[3], &MAC[4], &MAC[5]);

sscanf(和变体)需要指针来更改正在读入的变量。

很惊讶你的编译器没有警告你这个错误。

 类似资料:
  • 问题内容: 在Java中,是否有一种简单而优雅的方法将无符号字节值转换为有符号字节值?例如,如果我所拥有的只是int值240(二进制(24位+ 11110000)= 32bits),如何获得该int的带符号值? 问题答案: 除了,Java没有其他无符号值。考虑以下代码段: 结果将为-1,因为最低的8位已复制到byte变量中。

  • 我在尝试将未签名的 char 数组转换为 jstring 时遇到问题。 上下文是我正在使用来自Java的共享c库。所以我正在实现一个JNI c文件。我在库中使用的函数会恢复 我在 JNI C 文件中实现的函数返回一个 jstring。 所以我需要把无符号的char数组转换成jstring。 但是,尽管数组应该只包含20个字节,但我在Java中随机得到22或23个字节......(虽然 20 个字节

  • 我想优化我的代码,避免错误,我有这个功能,但我认为我可以改善和避免内存问题。 该函数的思想是接收这种样式的字符串“0123456789”并将其传递给0x01、0x23、0x45、...在无符号字符数组中。任何提示,良好的实践或改进将是非常有用的。 用法是这样的: 在函数缓冲区中结束如下:

  • 我有一个枚举文件,在其中我为PaymentTypes定义了一个对象: 这样我就有了可以使用的东西:

  • 问题内容: 在C语言中,我可以使用数字做一些技巧: 在Swift中有没有办法做到这一点?请注意,相同的方法无效: 有没有一种方法可以让C的行为在Swift中减法? 谢谢! 问题答案: 所有有符号和无符号整数类型都有一个构造函数,该构造函数从具有相同内存表示形式的有符号(反之亦然)创建无符号数字:

  • 我正试图用jackson-core-2.9.6把我的json转换成地图。我的json是 我试图将JSON解析成Map的Java代码是这样的 我得到的异常是com.fasterxml.jackson.databind.exc.MismatchedInputException:无法构造(尽管至少存在一个Creator):没有String参数构造函数/工厂方法可以从[源:(String)“”{\r\n“