编写一个程序,使用void main(int argc, char* argv[])函数中的参数传递操作的文件名,定义ofstream的对象对文件进行操作,使用read()和write()成员函数读入数据,使用输出流对象输出数据到文件和屏幕
时间: 2024-02-12 13:06:45 浏览: 51
编写一个用输入和输出流运算符进行的输入和输出的程序。
5星 · 资源好评率100%
好的,以下是一个简单的示例程序:
```c++
#include <iostream>
#include <fstream>
int main(int argc, char* argv[]) {
if (argc != 2) {
std::cout << "Usage: " << argv[0] << " <filename>" << std::endl;
return 1;
}
std::ofstream outfile(argv[1]);
if (!outfile.is_open()) {
std::cout << "Failed to open file " << argv[1] << std::endl;
return 1;
}
const char* data = "Hello, world!";
outfile.write(data, strlen(data));
outfile.close();
std::ifstream infile(argv[1]);
if (!infile.is_open()) {
std::cout << "Failed to open file " << argv[1] << std::endl;
return 1;
}
char buffer[1024];
infile.read(buffer, sizeof(buffer));
std::cout << "Read " << infile.gcount() << " bytes: " << buffer << std::endl;
infile.close();
return 0;
}
```
这个程序接受一个命令行参数,即要操作的文件名。它首先尝试以写入模式打开文件,然后使用`write()`函数写入一些数据。然后关闭输出流,重新打开文件,这次以读取模式打开。然后使用`read()`函数读取数据,并在屏幕上输出。最后关闭输入流,程序结束。
需要注意的是,这个程序并没有使用`void main(int argc, char* argv[])`函数,而是使用了标准的`int main(int argc, char* argv[])`函数。`void main()`在C++中并不是标准的入口函数,不建议使用。
阅读全文