将整数参数传递给C中的主要函数



我的问题是如何通过 argv[]传递 int参数。

我要使用的表格是以下内容:虽然nthreads和字母可以是可选的,但必须提供file1。

./test [-t NTHREADS] [-l LETTER] FILE1

我该如何处理?

你不能。从定义上讲,所有对main()的参数都是char*。如果您愿意,可以将它们转换,但这是由您自己酌情决定的。像getopt这样的工具使这样的编写界面变得容易得多,并且可以根据需要进行转换。

您可以使用atoi((函数,该函数在stdlib.h标准库中可用,或者为更强大的解决方案,您可以使用strtol((,也可以在stdlib中.h

示例:

#include <stdio.h>
#include <stdlib.h>
int main( int numArgs, char **argList )
{
    int num, i;
    for( i = 0; i < numArgs; i++ )
    {
        fprintf( stdout, "nArgument #%i ("$s") is %li as a number.", i, argList[i], strtol(argList[i], NULL, 10) );
    }
    return 0;
}

相关内容

  • 没有找到相关文章

最新更新