我使用的环境是腾讯云ubuntu服务器
以一个简单的算法题为例,How do you count the occurrence of a given character in a string?要求保存程序名为count-character-in-string.cc
,运行方式为 ./count-character-in-string your-string
在linux环境下编译运行c++我也是第一次,同时他这种运行方式也和我之前在win下的不一样,在win下我都是直接编译运行,弹出黑框,然后在黑框种进行输入。这个题目的要求就是在执行的程序后面跟上一串输入,而这个操作,需要在main函数中添加特定的参数
#include <iostream>
using namespace std;
int main(int argc, char* argv[]) {
for (int i = 0; i < argc; i++)
cout << argv[i] << endl;
return 0;
}
以前我从没写过main()
函数里面带参数的程序,这次也算是现学现卖了。首先通过linux自带的编辑软件创建一个test.cc
文件
demeen@VM-0-4-ubuntu:~/cpp_code$ nano test.cc
然后将上述代码复制进去,依次摁下ctrl+o
,Enter
,ctrl+x
之后输入如下命令,这个命令的含义是使用g++编译test.cc
程序,并生成名为test
的可执行程序
demeen@VM-0-4-ubuntu:~/cpp_code$ g++ test.cc -o test
然后输入
demeen@VM-0-4-ubuntu:~/cpp_code$ ./test abcd hello world
输出如下图所示
char *argv[]
是一个字符串数组,其大小为int argc
,主要用于保存命令行参数,例如上述输入
则
argc = 4
argv[0] = "./test"
argv[1] = "abcd"
argv[2] = "hello"
argv[3] = "world"
char *argv[]
指向的数组中至少有一个字符指针,即argv[0]
,他通常指向程序中的可执行文件的文件名
于是针对一开始的问题,下面就是我的操作步骤