C++11 文件未在c+中第二次打开+;
我正在尝试使用此代码打开一个文件,该代码将被多次调用。第一次打开文件,但第二次调用时,我在fp1.open上遇到一些错误。。。。行,即:C++11 文件未在c+中第二次打开+;,c++11,memory-management,malloc,C++11,Memory Management,Malloc,我正在尝试使用此代码打开一个文件,该代码将被多次调用。第一次打开文件,但第二次调用时,我在fp1.open上遇到一些错误。。。。行,即: Error in `/home/prosun/Desktop/workspace/fight/Default/fight': corrupted double-linked list: 0x0000000000675310 守则: void Writedata::write_file(){ ofstream fp1; int i;
Error in `/home/prosun/Desktop/workspace/fight/Default/fight': corrupted double-linked list: 0x0000000000675310
守则:
void Writedata::write_file(){
ofstream fp1;
int i;
fp1.open ("output/data.txt", ios::out | ios::app);
for(int i = 0; i < 10; i++){
cout.width(10); fp1 << i << endl;
}
fp1.close();
}
void Writedata::write_file(){
流fp1;
int i;
fp1.open(“output/data.txt”,ios::out | ios::app);
对于(int i=0;i<10;i++){
cout.width(10);fp1您无法编译的代码,括号不平衡。请解决这个问题。-您不依赖RAII。只需使用流fp1的(“output/data.txt”,ios::out | ios::app);
并且不调用。打开也不调用。关闭。然后这个cout.width()
调用不会更改文件的任何内容,您可能希望使用括号将宽度
流式传输到fp1
。这只是一个错误。我说的是文件打开。从另一个函数调用时第一次打开文件并打印I值。但是当第二次调用时然后显示上面的错误。问题在fp1.open(..)行。这很奇怪。错误是“损坏的双链接列表”此函数内部发生的情况?我怀疑您没有发布足够的代码来重现错误。您只是多次调用此代码吗?我多次调用此函数。第一次文件正在打开并写入信息。当第二次调用此函数时,请在这一行->fp1.open(“output/data.txt”,ios::out | ios::app)显示错误。