1

有问题的代码是:

vector<int> Data(2);    
String="ff34";
sscanf(String.c_str(), "%02x%02 ",&Data[0],&Data[1]);

如您所见,我想解析字符串并将数据保存到我的向量数据中。我真的不明白为什么这不起作用。

我得到的值是:
Data[0]=255 -> 这没问题
Data[1]=0 -> 这不起作用

我尝试过使用更大的向量,但我得到了相同的结果。第一个位置还可以,向量中的所有其他位置都是 0。

4

3 回答 3

2

你需要

"%02x%02x"代替"%02x%02 "

这里

于 2013-09-01T11:07:32.320 回答
1

它不起作用,因为格式说明符没有正确编写。%02不是有效的说明符,%02d(对于十进制整数)或%02x(对于十六进制整数)是。

于 2013-09-01T11:07:53.707 回答
0

代码应该是:

vector<int> Data(2);
string String="ff34";
sscanf(String.c_str(), "%02x%02d",&Data[0],&Data[1]);

if34被读取为十进制整数。而且假定的类型Stringstring.

于 2013-09-01T11:12:10.820 回答