Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/149.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 从字符数组中检索整数_C++ - Fatal编程技术网

C++ 从字符数组中检索整数

C++ 从字符数组中检索整数,c++,C++,我正在工作的程序被传递了3个命令行参数,所有这些参数都应该是整数。提供的框架计划包括: int main(char *argv[]){ ... } 我所做的只是尝试在数组(0、1和2)的每个位置为项设置一个整数,但它不会编译,因为它试图将字符转换为整数。我确信有一个简单的解决方法,但我似乎无法解决它。因为这看起来像是家庭作业,我将给你一些提示: main()的签名包括一个int参数,通常命名为argc 初始参数是argv[1],而不是argv[0] 是将字符串转换为整数的最简单方法 既然这看

我正在工作的程序被传递了3个命令行参数,所有这些参数都应该是整数。提供的框架计划包括:

int main(char *argv[]){
...
}

我所做的只是尝试在数组(0、1和2)的每个位置为项设置一个整数,但它不会编译,因为它试图将字符转换为整数。我确信有一个简单的解决方法,但我似乎无法解决它。

因为这看起来像是家庭作业,我将给你一些提示:

  • main()
    的签名包括一个
    int
    参数,通常命名为
    argc
  • 初始参数是
    argv[1]
    ,而不是
    argv[0]
  • 是将字符串转换为整数的最简单方法

    • 既然这看起来像是家庭作业,我就给你几个提示:

      • main()
        的签名包括一个
        int
        参数,通常命名为
        argc
      • 初始参数是
        argv[1]
        ,而不是
        argv[0]
      • 是将字符串转换为整数的最简单方法

      试试这样的方法:

      int i = atoi(argv[1]);
      

      试着这样做:

      int i = atoi(argv[1]);
      
      请为每个参数尝试cstdlib函数“atoi”:

      为每个参数尝试cstdlib函数“atoi”:


      < /P>看看这个帖子:看看这个帖子:不会下注,但是是<代码> ATOI 真的是C++初学者的初衷吗?@ Cnututar如果我在C++中教初学者的课程,这是我在用字符串流等方式来处理高级I/O主题之前所提到的第一件事。<代码> ATOI 是标准C++库的其他功能中的一流公民,我认为值得一提。如果我知道C++,我就不会向初学者提及<代码> CSTDLIB < /Cuff>函数。而且

      atoi
      始终是二等公民(即使在C语言中),因为它不安全。@cnicutar我更喜欢“简单任务的简单工具”方法。我从一个
      char*
      开始,有一个函数将
      cons char*
      解释为十进制整数。我的问题解决了!现在,如果我开始使用<代码> STD::String ,我肯定会远离<代码> ATOI(S.CyString)():一旦你在C++的土地上,交叉回来不是一个好主意。@ Cnututar我相当肯定地说<代码> ATOI 是安全的,至少它的C++表兄弟:它不在大到-IntMax上溢出。“如果正确的值超出可表示值的范围,则返回INT_MAX或INT_MIN。“不会是下注,但是<代码> ATOI 真的是C++初学者的初衷吗?@ Cnututar如果我在C++中教初学者的课程,这是我在用字符串流等方式来处理高级I/O主题之前所提到的第一件事。<代码> ATOI 是标准C++库的其他功能中的一流公民,我认为值得一提。如果我知道C++,我就不会向初学者提及<代码> CSTDLIB < /Cuff>函数。而且
      atoi
      始终是二等公民(即使在C语言中),因为它不安全。@cnicutar我更喜欢“简单任务的简单工具”方法。我从一个
      char*
      开始,有一个函数将
      cons char*
      解释为十进制整数。我的问题解决了!现在,如果我开始使用<代码> STD::String ,我肯定会远离<代码> ATOI(S.CyString)():一旦你在C++的土地上,交叉回来不是一个好主意。@ Cnututar我相当肯定地说<代码> ATOI 是安全的,至少它的C++表兄弟:它不在大到-IntMax上溢出。如果正确的值超出可表示值的范围,则返回INT_MAX或INT_MIN