gpt4 book ai didi

c++ - C++中的文件反转

转载 作者:太空宇宙 更新时间:2023-11-04 13:38:52 26 4
gpt4 key购买 nike

我正在使用这段代码逐个字符地从文件中读取并将其复制到另一个文件。我需要反转文件。所以我每次复制一个字符时都试图将文件指针设置为开头。

using namespace std;

int main () {
fstream myfile,infile;
char c;
infile.open("inputfile", ios::in);
myfile.open ("outputfile",ios::out|ios::trunc);
while(infile.get(c))
{
myfile<<c;
myfile.seekp(0,myfile.beg);
}
infile.close();
myfile.close();
return 0;
}

但是输出文件只有我正在复制的第一个字符。我该如何解决这个问题。

最佳答案

你可以把文件存储在一个vector中,只要它不是太大,然后写出到outputfile:

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

int main () {
fstream myfile,infile;
char c;
vector<char> contentVector;
infile.open("inputfile", ios::in);
myfile.open ("outputfile",ios::out);
while(infile.get(c)) {
contentVector.push_back(c);
}
for (int i = contentVector.size() - 2; i >= 0; --i) {
myfile << contentVector[i];
}
myfile << '\n';
infile.close();
myfile.close();
return 0;
}

关于c++ - C++中的文件反转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28559876/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com