c语言 将字符串转化为整数
2015-09-26 18:43
281 查看
/*
将数字字符串,转换成整数输出
例:“1234”输出 1234
*/
#include<stdio.h>
int str_validity = 0;
int charnum_to_int(char *str)
{
int num = 0, i = 0;
if (str == NULL)
{
str_validity = 1;
return 0;
}
if (*str == '-' || *str == '+')
{
i = '*str';
while (*(++str))
{
int num1;
if (*str >= 48 && *str <= 57)
{
if (*str == '0'&&num == 0)
continue;
else
num = num * 10 + (*str - 48);
num1 = num;
if ((num1&(1 << 31)) < 0)
str_validity = 1;
}
else
{
str_validity = 1;
break;
}
}
if (i == '-')
return num*-1;
else
return num;
}
while (*str)
{
int num1;
if (*str >= 48 && *str <= 57)
{
if (*str == '0'&&num == 0)
continue;
else
num = num * 10 + (*str - 48);
num1 = num;
if ((num1&(1 << 31) )< 0)
{
str_validity = 1;
break;
}
}
else
{
str_validity = 1;
break;
}
str++;
}
return num;
}
int main()
{
char *str = "-02147483647";//2 ^32
int num = 0;
num=charnum_to_int(str);
if (str_validity == 0)
printf("%d\n", num);
else
printf("该字符串不合法\n");
return 0;
}
将数字字符串,转换成整数输出
例:“1234”输出 1234
*/
#include<stdio.h>
int str_validity = 0;
int charnum_to_int(char *str)
{
int num = 0, i = 0;
if (str == NULL)
{
str_validity = 1;
return 0;
}
if (*str == '-' || *str == '+')
{
i = '*str';
while (*(++str))
{
int num1;
if (*str >= 48 && *str <= 57)
{
if (*str == '0'&&num == 0)
continue;
else
num = num * 10 + (*str - 48);
num1 = num;
if ((num1&(1 << 31)) < 0)
str_validity = 1;
}
else
{
str_validity = 1;
break;
}
}
if (i == '-')
return num*-1;
else
return num;
}
while (*str)
{
int num1;
if (*str >= 48 && *str <= 57)
{
if (*str == '0'&&num == 0)
continue;
else
num = num * 10 + (*str - 48);
num1 = num;
if ((num1&(1 << 31) )< 0)
{
str_validity = 1;
break;
}
}
else
{
str_validity = 1;
break;
}
str++;
}
return num;
}
int main()
{
char *str = "-02147483647";//2 ^32
int num = 0;
num=charnum_to_int(str);
if (str_validity == 0)
printf("%d\n", num);
else
printf("该字符串不合法\n");
return 0;
}
相关文章推荐
- C++ Primer注意事项11_运算符重载_算术/关系运算符_下标运算符
- c语言 对8bit位数据的某位置1或 0
- C语言实现自动关机的小程序
- C语言之变量默认值
- 文章标题
- C/C++笔试准备(2)
- C语言基础
- 位运算
- C++输入流位置的小变动对程序的影响
- 数组的增删改查的C语言实现
- c++错题
- C++套接字编程(聊天程序)
- 占用CPU时间,调用函数,点亮LED的C语言程序 【原创】
- C语言的static
- C++ traits编程方法
- 温习c++ 基本功之标识符的作用域
- C语言学习笔记(20150926)
- C语言学习笔记(20150926)
- 把Fortran代码自动转为C++代码
- C语言的指针好难!