文件名作为命令行参数传递。
时间: 2023-08-24 13:06:26 浏览: 216
linux shell命令行参数用法详解
你可以使用命令行参数来传递文件名,用来在程序中读取指定的文件。在 C++ 中,可以使用 `int main(int argc, char* argv[])` 来获取命令行参数,其中 `argc` 表示命令行参数的个数,`argv` 是一个指向字符数组的指针,每个元素表示一个命令行参数。第一个参数 `argv[0]` 是程序的名称,后面的参数则是传递的文件名。你可以使用 `fstream` 来打开文件并读取其中的内容。以下是一个简单的示例代码,假设输入文件名为 `input.txt`:
```c++
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char* argv[]) {
if (argc < 2) {
cout << "Usage: ./program filename" << endl;
return 0;
}
ifstream infile(argv[1]);
if (!infile) {
cout << "Failed to open file " << argv[1] << endl;
return 0;
}
string line;
while (getline(infile, line)) {
cout << line << endl;
}
infile.close();
return 0;
}
```
在命令行中运行 `./program input.txt` 即可读取 `input.txt` 中的内容并输出到控制台。
阅读全文