我有一个基本的问题,请问如何实现把字符串转换成整型数(比如char string[20]={1,2,3,4,5}转换成int a=12345,),想知道atoi这个函数的原型,谢谢诶!
----------------解决方案--------------------------------------------------------
函数名: atoi
功 能: 把字符串转换成长整型数
用 法: int atoi(const char *nptr);
程序例:
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
int n;
char *str = "12345.67";
n = atoi(str);
printf("string = %s integer = %d\n", str, n);
return 0;
}
今天我也在找这个函数....这是原形吧?
----------------解决方案--------------------------------------------------------
我的意思是这个函数是怎么实现的,你的好像已经是应用了吧
----------------解决方案--------------------------------------------------------
字符串之中必须包含一个有效的整形数。否则返回值不确定。。
----------------解决方案--------------------------------------------------------
那如果不用atoi怎么把字符串转换成数字呢?
----------------解决方案--------------------------------------------------------
原型如2楼所说
具体怎么实现的 参考下kai大师的帖子吧,对你很有启发的
http://bbs.bc-cn.net/viewthread.php?tid=1109
----------------解决方案--------------------------------------------------------
转来的
头文件:math.h、stdlib.h
atoi()将字符串转换成整型数的函数
原形:int atoi(const char *s)
功能:把s所指向的字符串转换成int类型。
s格式为:符号 数字
返回值:字符串的转换值。若出错则返回0;
不过还是找不到具体内容........
C库里函数具体的内容........我找有段时间了 都没找遇到一个.......
自己
做类似的自定义函数 到是可以....
----------------解决方案--------------------------------------------------------
[CODE]int ascii_to_int(char const *string)
{
int value;
value = 0;
while(*string <= '0'&&*string >= '9')
{
value *= 10;
value += *string - '0';
++string;
}
if(*string != '0')
value = 0;
return value;
}
这才是函数原型[/CODE]
----------------解决方案--------------------------------------------------------
[CODE]int ascii_to_int(char const *string)
{
int value;
value = 0;
while(*string >= '0'&&*string <= '9')
{
value *= 10;
value += *string - '0';
++string;
}
if(*string != '0')
value = 0;
return value;
}
这才是函数原型[/CODE]
不好意思失误写错了重发一遍
----------------解决方案--------------------------------------------------------