有什么办法可以将char *
转换成int
?将char *转换为int
我有一个从UART接收字符的字符串(string1
)。此字符串的样子:{3600,32,300}
:
char t1_s[32],t2_s[32],t3_s[32];
static char string1[15];
strcpy(t3_s, strtok(string1 , ","));
strcpy(t2_s, strtok(NULL, ","));
strcpy(t1_s, strtok(NULL, ","));
t1= t1_s - '0';
t2= t2_s - '0';
t3= t3_s - '0';
,编译器会发出警告:
#515-d“*字符”不能分配给类型“INT”的实体类型的值MAIN.C
我需要得到的t1_s
,t2_s
和t3_s
数值为整数。
什么是't1_s - “0''什么意思? – Michael
'char *'是一个指针。转换是实现定义的,应该总是使用'uintptr_t'或'intptr_t',而不是'int'或其他标准整数类型。 – Olaf