有问题的代码是:
vector<int> Data(2);
String="ff34";
sscanf(String.c_str(), "%02x%02 ",&Data[0],&Data[1]);
如您所见,我想解析String并将数据保存到我的矢量数据中。 我真的不明白为什么这不起作用。
我得到的价值是:
数据[0] = 255 - &gt;这没关系
数据[1] = 0 - &gt;这是不起作用的
我尝试过更大的矢量,但我也一样。首先是好的,向量中的所有其他位置都是0。
答案 0 :(得分:2)
答案 1 :(得分:1)
它无法正常工作,因为格式说明符未正确写入。 %02
不是有效的说明符,%02d
(对于十进制整数)或%02x
(对于十六进制整数)。
答案 2 :(得分:0)
代码应为:
vector<int> Data(2);
string String="ff34";
sscanf(String.c_str(), "%02x%02d",&Data[0],&Data[1]);
如果34
被读为十进制整数。假设的String
类型为string
。