【发布时间】:2017-02-16 08:00:49
【问题描述】:
我会将用户的十六进制输入输入buffer 数组,但我不接受,scanf 不合适。像这样输入数据(0x 06 41 42 43 0f 52 53)。然后我想将字符串转换为整数类型的数组的某些部分。我用atoi,最好的方法是什么?
#include <stdio.h>
int main(){
char buffer[1000];
char dest[3];
int x;
//scanf("%s",buffer);
x=atoi(strncpy(dest,buffer+1,4))
}
【问题讨论】:
-
你可以把它保存为一个字符串然后解析它。并将其转换为十进制。
-
(00 06 41 42 43 0f 52 53)是八进制(不是十六进制) -
@KeineLust 八进制不包括 f。
-
@OğuzhanAvcı 十六进制以
0x作为前缀。任何没有的东西都不是十六进制的。 -
@OğuzhanAvcı 你可以保留
00这实际上不是问题。