使用ofstream 即可,写了一个示例,包含普通字符串和结构体写入文件的例子。
示例运行截图:
示例代码:
#include <iostream>
#include <fstream>
using namespace std;
typedef struct _stTest
{
char name[20];
int age;
}stTest;
int main()
{
ofstream os("outfile.txt",ios::out);
cout << "this is a test" << endl; //写入控制台
os << "this is a test" << endl; //写入文件
cout << "早上好" << endl;
os << "早上好" << endl;
stTest s;
strcpy(s.name, "张三");
s.age = 20;
cout << s.name << " " << s.age << endl;
os << s.name << " " << s.age << endl; //结构体写入文件
os.close();//关闭文件流
return 0;
}
使用文件流和重定向操作,可参考如下代码:
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ofstream outputFile;
string fileName = "output.txt";
// 打开文件
outputFile.open(fileName);
if (!outputFile.is_open()) {
cout << "无法打开文件:" << fileName << endl;
return 1;
}
// 保存控制台输出到文件
streambuf* originalStdout = cout.rdbuf(); // 保存原始的cout输出流
cout.rdbuf(outputFile.rdbuf()); // 重定向cout输出流到文件
// 控制台输出
cout << "这是控制台输出的内容1" << endl;
cout << "这是控制台输出的内容2" << endl;
// 恢复cout输出流到原始状态
cout.rdbuf(originalStdout);
// 关闭文件
outputFile.close();
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!