使用流写入文件内部
Using of stream to write inside file
我应该在一个名为"mydata.txt"的文件中打印(x,y)值。但是由于某种原因,我收到以下错误消息:"错误:无法打开输出文件 mydata.txt" 我不确定程序是应该创建文本文件还是应该创建文件。我尝试了后者,但仍然不起作用。这是我的代码:
#include "std_lib_facilities_5.h"
class Point{
public:
int x;
int y;
// Coordinate members x and y
Point(int nn = 0 , int mm = 0): x(nn), y(mm){}
friend ostream& operator<< (ostream &out, const Point &point);
};
ostream& operator<<(ostream& os, const Point& point){
os << point.x << " " << point.y;
return os;
}
int main()
try {
int x1, x2;
vector<Point> original_points;
for(int i = 0; i < 7; ++i) {
cout << "Please input coordinate points as (x,y): ";
cin >> x1 >> x2;
original_points.push_back(Point(x1,x2));
}
for(int i = 0; i < 7; ++i){
cout << "Original points: " << original_points[i] << endl;
}
string outputFile = "mydata.txt";
ofstream ost {"mydata.txt"};
ost.open(outputFile,ofstream::out);
if(!ost) error("can't open output file ", outputFile);
for(int i = 0; i < original_points.size(); ++i){
ost << original_points[i] << " " << original_points[i];
}
ost.close();
}
catch (exception& e) {
cerr << "error: " <<e.what() << 'n';
return 1;
}
catch (...) {
cerr << "Oops: unknown exception!n";
return 2;
}
这是我运行它时的输出:
Please input coordinate points as (x,y): 1 2
Please input coordinate points as (x,y): 1 1
Please input coordinate points as (x,y): 2 2
Please input coordinate points as (x,y): 3 3
Please input coordinate points as (x,y): 4 4
Please input coordinate points as (x,y): 5 5
Please input coordinate points as (x,y): 6 6
Original points: 1 2
Original points: 1 1
Original points: 2 2
Original points: 3 3
Original points: 4 4
Original points: 5 5
Original points: 6 6
error: can't open output file mydata.txt
Program ended with exit code: 1
ofstream ost {"mydata.txt"};
打开文件。
然后,您尝试在下一行中再次打开它失败,因为它已经打开了。
删除第二行。
在你ost.close();
删除行 - 析构函数会在需要的时候为你关闭它。
试试这个
#include "std_lib_facilities_5.h"
class Point{
public:
int x;
int y;
// Coordinate members x and y
Point(int nn = 0 , int mm = 0): x(nn), y(mm){}
friend ostream& operator<< (ostream &out, const Point &point);
};
ostream& operator<<(ostream& os, const Point& point){
os << point.x << " " << point.y;
return os;
}
int main()
try {
int x1, x2;
vector<Point> original_points;
for(int i = 0; i < 7; ++i) {
cout << "Please input coordinate points as (x,y): ";
cin >> x1 >> x2;
original_points.push_back(Point(x1,x2));
}
for(int i = 0; i < 7; ++i){
cout << "Original points: " << original_points[i] << endl;
}
ofstream ost;
ost.open("mydata.txt");
if(!ost) error("can't open output file ", "mydata.txt");
for(int i = 0; i < original_points.size(); ++i){
ost << original_points[i] << " " << original_points[i];
}
ost.close();
}
catch (exception& e) {
cerr << "error: " <<e.what() << 'n';
return 1;
}
catch (...) {
cerr << "Oops: unknown exception!n";
return 2;
}
相关文章:
- 从函数角度看ID到文件路径的内部与外部映射
- 将内部带有矢量的结构保存/读取到二进制文件中
- 如何在公共头文件中向库的用户公开枚举,同时在内部使用它?
- 访问 Python 内部的C++文件
- 致命错误 C1001 :vs2017 15.8.4 的内部错误(编译器文件"msc1.cpp",第
- 在Linux Mint 19下,从哪里提取wxWidgets的源代码(.cpp文件)用于步骤内部调试
- C++读取内部文件Android NDK
- C 使用getline()内部循环以在CSV文件中读取
- exe文件不被识别为内部或外部命令,可操作的程序或批处理文件在C++
- 我的应用程序是从Visual Studio内部运行还是通过执行EXE文件运行
- 为什么内部链接的名称会出现在我的目标文件的符号表中?
- C++ Android 资源管理器从应用内部目录中读取文件
- (CMake 内部版本)致命错误LNK1181:无法打开输入文件'glew.lib'
- C++ - 在单独的文件中实现内部模板类的模板方法
- 在程序集文件内部调用C++函数
- 使用流写入文件内部
- c 如何从类类 .h 文件内部识别.cpp中的 UDT 枚举
- Windows NT 二进制可执行文件内部常量字符串编码
- 如何从Python文件内部导入Boost.Python
- 使用JNA从java中的源对象(.so)文件内部调用C++函数时发生链接异常