使用argv [1]时出现分段错误>

问题描述 投票:0回答:2

[当我尝试使用:./ prog_name eventCNT运行该程序时,我遇到了分段错误,而其他参数都没问题...

    int main(int argc, char *argv[]) {

    printf("Application for up/down/random counter on 7 seg display\n");

    if ( (strcmp(argv[1], "eventCNT") == 0 &&  argc != 2) || (strcmp(argv[1], "eventCNT") != 0 &&  argc != 3) )

    {

        printf( "usage: %s <direction or event counting> <delay>\n", argv[0] );
        printf( "valid direction : up, down, updown, random\n");
        printf( "valid event counting : eventCNT\n");
        printf ("recommended delay range in ms : 0 to 1000\n");
    }
    else
    {
        .
       .
       .  

    }
}

[当我尝试使用以下命令运行此程序时:./prog_name eventCNT我遇到分段错误,而其他参数则一切正常... int main(int argc,char * argv []){printf(“ ...

c++ argv
2个回答
2
投票

访问argc之前应先检查argv


1
投票

您应该使用

© www.soinside.com 2019 - 2024. All rights reserved.