C语言中,可以使用atoi函数将字符串转换为数字,如atoi("123")可以得到数字123。
atoi (表示 ascii to integer)是把字符串转换成整型数的一个函数,应用在计算机程序和办公软件中。int atoi(const char *nptr) 函数会扫描参数 nptr字符串,会跳过前面的空白字符(例如空格,tab缩进)等。
如果 nptr不能转换成 int 或者 nptr为空字符串,那么将返回0。特别注意,该函数要求被转换的字符串是按十进制数理解的。atoi输入的字符串对应数字存在大小限制(与int类型大小有关),若其过大可能报错-1。
扩展资料:
C语言中数字转化为字符串的方案:
使用sprintf函数来实现,如sprintf("%d", 123)可以得到字符串"123"。
sprintf指的是字符串格式化命令,主要功能是把格式化的数据写入某个字符串中。sprintf 是个变参函数。使用sprintf 对于写入buffer的字符数是没有限制的,这就存在了buffer溢出的可能性。解决这个问题,可以考虑使用 snprintf函数,该函数可对写入字符数做出限制。
参考资料来源:百度百科-atoi
C语言有atoi、atol、atof等库函数,可分别把ASCII编码的字符串转化为int、long、float类型的数字。\x0d\x0a头文件:stdlib.h\x0d\x0a函数原型:int atoi(const char* nptr)\x0d\x0a(另外两个类似)\x0d\x0a\x0d\x0a举个例子:\x0d\x0achar *str="123"\x0d\x0aint num=atoi(str)\x0d\x0a执行后,num的值被初始化为123 #include<stdio.h>#include<string.h>
int str2int(char *ch)//字符型数字转整型数字
int p10(int m)//计算10的次方,pow函数计算10次方有误差,重写函数
int main()
{
char ch[]="234"
int n
n=str2int(ch)
printf("n=%d\n",n)
return 0
}
int str2int(char *ch)
{
int len=strlen(ch),i,n=0,m=0
for(i=len-1i>=0i--)
{
n=n+(ch[i]-'0')*p10(m++)
}
return n
}
int p10(int m)
{
int i,sum=1
if(m==0)
return 1
for(i=0i<mi++)
sum=sum*10
return sum
}