如果我有以下内容:
char id[5]="1";
我希望将id用作整数,我必须先将其转换,或者是否(int)id
使用该字符串中的值?
答案 0 :(得分:4)
不......你需要使用int n = atoi( id )
一个char数组只是......一个char数组......它不是你想的意义上的数字。您需要使用函数调用将其从值的字符串表示形式转换为您正在寻找的实际数字整数值。
答案 1 :(得分:1)
您可以使用atoi将字符串转换为整数:
char id[5] = "1";
int n = atoi(id); // n = 1
答案 2 :(得分:1)
C不提供字符串和数字数据之间的类型转换。
要从字符串转换为int,您需要使用atoi
或(更好)strtol
。
strtol
更好,因为如果输入字符串无法转换为数字,它不会导致未定义的行为,并且它允许您检测"42xyz"
之类的情况并做出正确的反应。