举例使用int main(int argc,char*argv[])函数中的参数传递操作的文件名,声明ofstream的对象对文件进行操作,使用getline成员函数读入数据,使用cout输出字符到文件。
时间: 2024-10-16 09:13:08 浏览: 17
C语言中 int main(int argc,char *argv[])的两个参数详解
在C++中,`main(int argc, char* argv[])`是一个标准的程序入口点,`argc`代表命令行参数的数量,`argv`则是一个指向字符串数组的指针,每个元素对应一个命令行参数。你可以通过索引来获取命令行传递的文件名。
假设我们想创建一个简单的程序,使用`ofstream`对象操作一个名为"example.txt"的文件,并从用户那里读入一行数据然后将其输出到该文件:
```cpp
#include <iostream>
#include <fstream>
#include <string>
int main(int argc, char* argv[]) {
if (argc != 2) {
std::cerr << "Usage: program_name file_to_write.txt" << std::endl;
return 1; // 返回错误码
}
std::string fileName = argv[1]; // 文件名是从第二个参数开始的
std::ofstream outputFile(fileName); // 创建ofstream对象,尝试打开文件
if (!outputFile.is_open()) {
std::cerr << "Failed to open the output file." << std::endl;
return 1;
}
std::string inputLine;
std::getline(std::cin, inputLine); // 从标准输入读入一行数据
outputFile << inputLine; // 将读入的数据写入文件
outputFile.close(); // 关闭文件以释放资源
std::cout << "Data written to " << fileName << std::endl;
return 0; // 成功完成,返回0
}
```
在这个例子中,如果在命令行运行程序时没有提供文件名,程序会显示错误提示。然后程序尝试打开指定的文件,读取用户输入的一行数据,并将这行数据写入文件。最后,它会在控制台输出一条消息确认数据已写入。
阅读全文