C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何正确地将程序参数* char转换为int?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用的是Mac OS X 10.6.5,使用XCode 3.2.1 64位来构建一个构建配置为10.6的C命令行工具.调试| x86_64的.我想传递一个正整数作为参数,所以我将argv的索引1作为一个int.这似乎工作,除了似乎我的程序获取ascii值而不是读取整个char数组并转换为int值.当我进入’progname 10’时,它告诉我我已进入49,这是我进入’progname 1’时也得到的.如何让C将整个char数组作为int值读取?谷歌只展示了我(int)* charPointer,但显然这不起作用.

#include <stdio.h>
#include <stdlib.h>
#include <String.h>
#include <math.h>

int main(int argc,char **argv) {
    char *programname = getProgramname(argv[0]); // gets the name of itself as the executable
    if (argc < 2) {
        showUsage(programname);
        return 0;
    }
    int thenumber = (int)*argv[1];
    printf("Entered [%d]",thenumber);            // entering 10 or 1 outputs [49],entering 9 outputs [57]
    if (thenumber % 2 != 0 || thenumber < 1) {
        showUsage(programname);
        return 0;
    }

    ...

}
@H_403_14@@L_801_6@
argv数组中的数字是字符串表示形式.您需要将其转换为整数.

sscanf

int num;
sscanf (argv[1],"%d",&num);

或者atoi()(如果有的话)

大佬总结

以上是大佬教程为你收集整理的如何正确地将程序参数* char转换为int?全部内容,希望文章能够帮你解决如何正确地将程序参数* char转换为int?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。