lnlidawei

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

argc和argv的应用

 

 

 

一、argc和argv的说明(linux):

 

// file_name=app_test.cpp  
// application_name=app_test

int main(int argc, char* argv[]) {   // body of function } // 运行程序;参数:hello, world! ./app_name hello, world!

  

 

参数说明:

 

1、argc和argv:在“某程序的外部”,给该程序“传递参数”;

 

2、argc:代表传入程序的参数个数;参数之间分隔符包括“空格/tab”;argc初始值为“0”;

                1.1、argc = 2

 

3、argv:是一个字符的指针数组,每个数组保存“传入的参数”;argv[0]的值为“应用程序名字”,argv[1]的值为传入的第一个参数的值;...,argv[k]的值为传入的第k个参数的值。

                2.1、argv[0]=app_name

                2.2、argv[1]=hello,

                2.3、argv[2]=world!

 

 

 

 

二、应用示例

 

 

 

[root@rockylinux tmp]# uname -a
Linux rockylinux 4.18.0-348.7.1.el8_5.x86_64 #1 SMP Tue Dec 21 19:02:23 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
[root@rockylinux tmp]# ./cpp_test  hello_word  hello_houdini19  hello,  china!
Hello, World!
OS: List Input Parameters...
argc=5
argv[0]=./cpp_test
argv[1]=hello_word
argv[2]=hello_houdini19
argv[3]=hello,
argv[4]=china!
[root@rockylinux tmp]# cat cpp_test.cpp 
#include<iostream>


using namespace std;


void msg()
{
        cout << "Hello, World!" << endl;
}


void input(int count, char* array[])
{
        cout << "OS: List Input Parameters..." << endl;
        cout << "argc=" << count << endl;

        for(int i=0; i<count; i++)
        {
                cout << "argv[" << i << "]=" << array[i] << endl;
        }
}


// test functions

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

        return 0;
}
[root@rockylinux tmp]#

 

  

 

 

 

posted on 2022-01-05 00:13  lnlidawei  阅读(269)  评论(0编辑  收藏  举报