标题:命令行参数如何传递
只看楼主
chaw899
Rank: 2
等 级:禁止访问
帖 子:48
专家分:11
注 册:2018-11-29
结帖率:88.89%
已结贴  问题点数:19 回复次数:1 
命令行参数如何传递
int main(int argc,char *argv[])
{
    if ( argc < 4 )
    {
        printf("usage: %s %s\n", argv[0], "-e|d infile outfile");
        exit(1);
    }
    else
    {   
        if ( (strcmp(argv[1]),"-e") )
       {
          printf("%s\n",argv[1]);
          printf("nihao.\n");
//          encoding(argv[2],argv[3]);
          exit(2);
       }
          if ( (strcmp(argv[1]),"-d") )
       {
          printf("%s\n",argv[1]);
          printf("wohao.\n");
 
//          decoding(argv[2],argv[3]);
          exit(3);  
       }
    }
}

下面的代码执行后都是打印出nihao,为啥wohao打印不出来呢?

base64 -e minase.mp3 ulg.txt
-e
nihao.

base64 -d minase.mp3 ulg.txt
-d
nihao.



搜索更多相关主题的帖子: 命令行 参数 传递 printf exit 
2019-07-11 08:56
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:19 
strcmp(argv[1]) 等能编译通过吗?

程序代码:
#include <stdio.h>
#include <string.h>

int main( int argc, char* argv[] )
{
    if( argc < 4 )
    {
        printf( "usage: %s %s\n", argv[0], "-e|d infile outfile" );
        return 1;
    }

    if( strcmp(argv[1],"-e") == 0 )
    {
        printf( "%s\n",argv[1] );
        printf( "nihao.\n" );
        return 2;
    }

    if ( strcmp(argv[1],"-d") == 0 )
    {
        printf( "%s\n", argv[1] );
        printf( "wohao.\n" );
        return 3;
    }
}

运行参数:-d minase.mp3 ulg.txt
输出:wohao.
2019-07-11 10:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-495785-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.693563 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved