• 字符串转换成整型数 atoi()


     题目说明:

    1、设计函数: int atoi(const char *nptr);

    2、功能:把字符串转换成整型数,atoi()会扫描参数nptr字符串,如果第一个非空格字符存在,

         是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 ) 字符时停止转换,

         返回整型数。否则,返回零,

    3、头文件: #include <stdlib.h>

    程序一:

    #include <stdio.h>

    #include <stdlib.h>   //isspace()函数的头文件

    int myAtoi(const char* s)

    {

      int result = 0;

      int flag = 1;

      int i = 0; 

      while(isspace(s[i]))

        i++; 

      if(s[i] == '-')  //遇到负号

      {

        flag = -1;

        i++;

      } 

      if(s[i] == '+')   //遇到正号

        i++; 

      while(s[i] != '')

      { 

        if((s[i] > '9') || (s[i] < '0'))

          break; 

        int j = s[i] - '0'; 

        result = 10 * result + j;

        i++;

      } 

      result = result * flag;

      return result;

    int main()

      char* a = " -1234def";

      char* b = "+5678";

      int i = myAtoi(a);

      int j = myAtoi(b);

      printf("%d ",i);

      printf("%d ",j);

      return 0;

    }

    程序二:

    #include <cctype>
    int my_atoi(const char* p){
      assert(p != NULL);
      bool neg_flag = false;// 符号标记
      int res = 0;          // 结果
      if(p[0] == '+' || p[0] == '-')
        neg_flag = (*p++ != '+');
      while(isdigit(*p)) res = res*10 + (*p++ - '0');
      return neg_flag ?0 -res : res;
    }
  • 相关阅读:
    Ajax笔记(三)
    Ajax笔记(二)
    org.apache.commons.lang.StringUtils中常用的方法
    数位dp poj1850
    二分图 最小点覆盖 poj 3041
    poj 1789 prime
    c++三种进制格式
    c++面向行的输入getline()和get()
    最小生成树 prime算法 UVALive
    最短路 poj1125
  • 原文地址:https://www.cnblogs.com/followyourdream/p/3364279.html
Copyright © 2020-2023  润新知