// 程序员面试宝典 面试题目2 217 将字符串转化为整型 不能使用atoi函数。接口仿照atoi ,
来源:互联网 发布:益盟自动画线 源码 编辑:程序博客网 时间:2024/05/17 01:37
//************
// 程序员面试宝典 面试题目2 217 将字符串转化为整型 不能使用atoi函数。接口仿照atoi ,
// int atoi( const char *string );
/// 思路:掠过空格等特殊字符,找到符号位,标记符号位,然后找到符号位之后的连续数字字符,处理符号位。
int alphatoint (const char *nptr)
{
int isspace2(int x);
int isdigit2(int x);
int c; // /* current char
int total; // /* current total
int sign; // /* if '-', then negative, otherwise positive
// /* skip whitespace
while ( isspace((int)(unsigned char)*nptr) )
++nptr;
c = (int)(unsigned char)*nptr++;
sign = c; ///* save sign indication
if (c == '-' || c == '+')
c = (int)(unsigned char)*nptr++; // /* skip sign
total = 0;
while (isdigit(c))
{
total = 10 * total + (c - '0'); // /* accumulate digit
c = (int)(unsigned char)*nptr++; // /* get next char
}
if (sign == '-')
return -total;
else
return total; // /* return result, negated if necessary
}/// end alphatoint
int isspace2(int x) // 兼容字长不同的机器。
{
if(x==' '||x=='\t'||x=='\n'||x=='\f'||x=='\b'||x=='\r')
return 1;
else
return 0;
}
int isdigit2(int x)
{
if(x<='9'&&x>='0')
return 1;
else
return 0;
}
// 程序员面试宝典 面试题目2 217 将字符串转化为整型 不能使用atoi函数。接口仿照atoi ,
// int atoi( const char *string );
/// 思路:掠过空格等特殊字符,找到符号位,标记符号位,然后找到符号位之后的连续数字字符,处理符号位。
int alphatoint (const char *nptr)
{
int isspace2(int x);
int isdigit2(int x);
int c; // /* current char
int total; // /* current total
int sign; // /* if '-', then negative, otherwise positive
// /* skip whitespace
while ( isspace((int)(unsigned char)*nptr) )
++nptr;
c = (int)(unsigned char)*nptr++;
sign = c; ///* save sign indication
if (c == '-' || c == '+')
c = (int)(unsigned char)*nptr++; // /* skip sign
total = 0;
while (isdigit(c))
{
total = 10 * total + (c - '0'); // /* accumulate digit
c = (int)(unsigned char)*nptr++; // /* get next char
}
if (sign == '-')
return -total;
else
return total; // /* return result, negated if necessary
}/// end alphatoint
int isspace2(int x) // 兼容字长不同的机器。
{
if(x==' '||x=='\t'||x=='\n'||x=='\f'||x=='\b'||x=='\r')
return 1;
else
return 0;
}
int isdigit2(int x)
{
if(x<='9'&&x>='0')
return 1;
else
return 0;
}
- // 程序员面试宝典 面试题目2 217 将字符串转化为整型 不能使用atoi函数。接口仿照atoi ,
- C语言的字符串转化为整型:atoi
- MFC :atoi不能将"CString" 转化为"char *"
- 《程序员面试宝典》部分字符串题目
- 面试笔试之atoi函数
- atoi() -- 将字符串转换成整型数
- 字符串转整型(atoi)
- 面试经典题目 atoi实现 htoi实现
- (用atoi系列)字符串转化为数字(整型、浮点型)
- itoa、atoi 整型转字符串、字符串转整型的函数
- atoi(将字符串转换成整型数)和itoa(把一整数转换为字符串)
- atoi(将字符串转换成整型数)和itoa(把一整数转换为字符串)
- 自写atoi----字符串转化为整形
- c++-字符串转化为整形(atoi)
- 在Linux下使用sprintf代替atoi实现整型转化为char*
- 程序员面试宝典题目-单链表
- 程序员面试宝典题目-双链表
- 将字符串转化为整型
- char* inttoalpha( int value, char *string, int radix ) // 接口仿照库函数, radix 是基数:2进制,8,10,16 。
- Excel常用函数大全
- easyui中的validatebox和form的validate方法配合检验数据
- 微型 Python Web 框架: Bottle
- 上课体会
- // 程序员面试宝典 面试题目2 217 将字符串转化为整型 不能使用atoi函数。接口仿照atoi ,
- 在一个驱动程序中调用另外一个驱动程序中的函数
- isspace(int x)
- sql server 2008 数据库还原出错
- isdigit(int x)
- 指针函数与函数指针的区别
- 【物联网智能网关-11】流式驱动之用户驱动(MDK C++开发)
- 更改Ubuntu 12.04默认的shell
- C++自定义枚举类