atoi函数(将字符串转化为int)

头文件:#include <stdlib.h>

atoi() 函数用来将字符串转换成整数(int),其原型为:
int atoi (const char * str);

【函数说明】atoi() 函数会扫描参数 str 字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(‘\0‘)才结束转换,并将结果返回。

【返回值】返回转换后的整型数;如果 str 不能转换成 int 或者 str 为空字符串,那么将返回 0。

温馨提示:ANSI C 规范定义了 stof()atoi()atol()strtod()strtol()strtoul() 共6个可以将字符串转换为数字的函数,大家可以对比学习。另外在 C99 / C++11 规范中又新增了5个函数,分别是 atoll()、strtof()、strtold()、strtoll()、strtoull(),在此不做介绍,请大家自行学习。

范例:将字符串a 与字符串b 转换成数字后相加。

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main ()
  4. {
  5. int i;
  6. char buffer[256];
  7. printf ("Enter a number: ");
  8. fgets (buffer, 256, stdin);
  9. i = atoi (buffer);
  10. printf ("The value entered is %d.", i);
  11. system("pause");
  12. return 0;
  13. }

执行结果:
Enter a number: 233cyuyan
The value entered is 233.

时间: 2024-10-20 05:58:39

atoi函数(将字符串转化为int)的相关文章

C语言:将16进制字符串转化为int类型值

将16进制字符串值转换为 int 整型值 此例中用 "1de" 作为测试字符串,实现代码如下: [cpp] view plaincopy #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> /* * 将字符转换为数值 * */ int c2i(char ch) { // 如果是数字,则用数字的ASCII码减去48, 如果ch = '2'

pow()函数结果强制转化为int造成误差的分析

开发环境:codeblocks,编译器gcc 在计算102时调用pow(10, 2),再强制类型转换为int类型后输出: printf("%d",(int)pow(10,2)); 得到的结果却是:99 这是因为 double pow(double x, double y) ,返回值是采用数值逼近的方法得到的double类型值.例如返回值为99.9999999时,强制类型转换发生截断,得到99. 仔细分析后发现: 因为pow函数导致从double返回值类型向int型转化的时候是直接把小数

C++中将string类型转化为int类型

写程序需要将string转化为int,所以就探索了一下. 方法一:atoi函数 atoi函数将字符串转化为整数,注意需要stdlib库.所以就尝试了一下: 1 #include <iostream> 2 #include <string.h> 3 #include <stdlib.h> 4 using namespace std; 5 int main() 6 { 7 string a="11",b="22"; 8 cout<

2016.5.21——atoi()函数的测试

对函数atoi()函数的测试: atoi()函数将字符串型转换为整型 代码: 1 #include "stdafx.h" 2 #include "iostream" 3 #include "vector" 4 //#include <stdlib.h> 5 using namespace std; 6 7 int _tmain(int argc, _TCHAR* argv[]) 8 { 9 char str[] = { "1

C语言atoi()函数:将字符串转换成int(整数)

头文件:#include <stdlib.h> atoi() 函数用来将字符串转换成整数(int),其原型为:int atoi (const char * str); [函数说明]atoi() 函数会扫描参数 str 字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回. [返回值]返回转换后的整型数:如果 str 不能转换成 int 或者 str 为

c++实现atoi()和itoa()函数(字符串和整数转化)

  c++实现atoi()和itoa()函数(字符串和整数转化) 一:起因 (1)字符串类型转化为整数型(Integer),还是字符串类型(String)转化为Double类型,这在java里面有非常好的内部函数,很easy的事情: (2)但是在c里面没有Integer Double等包装类,由char[]数组转化为整数型就变得不那么简单了,atoi()  itoa()在widows下面有,但是网上说linux 下好像没有 itoa() 函数,用 sprintf() 好了,但是本人测试了一下sp

atoi函数的使用(将字符串转换成整型数)

原型: int atoi(const char *nptr); 头文件:#include <stdlib.h> 简介 atoi(ascii to integer):是把字符串转换成整型数的一个函数.atoi( ) 函数会扫描参数 nptr字符串,跳过前面的空白字符(例如空格,tab缩进等.--百度百科 栗子: #include<iostream> #include<stdio.h> #include<cstdlib> using namespace std;

【C语言】编写函数实现库函数atoi,把字符串转换成整形

//编写函数实现库函数atoi,把字符串转换成整形 #include <stdio.h> #include <string.h> int my_atoi(const char *src) { int flag=1; int sum=0; while (*src) { if (*src == ' ') src++; else if (*src == '+') { src++; flag = 1; } else if(*src == '-') { src++; flag = -1; }

c语言将字符串转成int,将int转成字符串。附带任意进制转换函数

在网上看到各种将字符串转成int,和int转成字符串的方法.我自己比较喜欢用的方法是下面的,记住模板就行,最开始我也老是记不住,找到规律,多用几遍就好了. 1.将字符串转成int char s[20] = "123456";   // 注如果此处不是数字字符串类型,如下面的字符串  12abc -->  12        ab12 --> 0 int a = 0; sscanf(s,"%d",&a);   // a = 123456   就得到