c++中相同文件的双间距

Double spacing the same file in C++

本文关键字:文件 c++      更新时间:2023-10-16

我写了一些代码,以便在c++中双间距文件,目前程序接受一个文件并返回一个不同的文件,即双间距。我希望程序返回相同的文件到文件目录。我很漂亮,在这一点上,我需要一个临时文件,这是好的,但我希望在程序结束时最终返回相同的文件(但双行间距给用户)。任何帮助都会很感激。以下是目前为止的代码:

#include <fstream>
#include <iostream>
#include <cstdlib>
using namespace std;

int main( )
{
ifstream fin;
ofstream fout;
fin.open("story.txt");
if (fin.fail( ))
{
    cout << "Input file opening failed.n";
    exit(1);
}
fout.open("numstory.txt");
if (fout.fail( ))
{
    cout << "Output file opening failed.n";
    exit(1);
}
char next;
int n = 1;
fin.get(next);
fout << n << " ";
while (! fin.eof( ))
{
    fout << next;
    if (next == 'n')
    {
        fout << endl;
    }
    fin.get(next);
}
fin.close( );
fout.close( );
return 0;
}

按照您的建议,创建一个临时文件,然后,只有在处理成功时,remove保存现有文件,rename保存临时文件。

顺便说一下,把using namespace std放在每个程序的顶部是一个坏习惯,你最好避免。

最简单的解决方案:删除输入文件并重新命名新文件(删除并重新命名)

更好的解决方案:打开第一个文件进行读写(fstream),用stringstream缓冲区替换内容,甚至不创建临时文件(也更快)。

你有很多选择