如果我有以下情况:
char id[5]="1";
我想将 id 用作整数,我必须先转换它还是足以 (int)id
使用该字符串中的值?
不...您需要使用函数调用来转换它,例如int n = atoi( id )
一个 char 数组就是……一个 char 数组……它不是您所想的意义上的数字。您需要使用函数调用将其从值的字符串表示形式转换为您要查找的实际数字整数值。
您可以使用atoi将字符串转换为整数:
char id[5] = "1";
int n = atoi(id); // n = 1
C 不提供字符串和数值数据之间的类型转换。
要将字符串转换为 int,您需要使用atoi
or (better) strtol
。
strtol
更好,因为如果输入字符串不能转换为数字,它不会导致未定义的行为,并且它允许您检测类似的情况"42xyz"
并做出正确的反应。