将文本文件的内容追加到C中的另一个文件
作者:互联网
如何打开文本文件并将其所有行附加到C中的另一个文本文件?我发现大多数解决方案是将文件从字符串分别读取,然后从字符串写入文件.可以优雅地结合吗?
并非总是两个文件都存在.访问每个文件时,应该返回bool.
很抱歉,如果这已经成为题外话:将文本内容附加到文件中是否没有冲突,就意味着多个程序可以同时执行此操作(行的顺序无关紧要)?如果不是,什么是(原子)替代方案?
解决方法:
我只能说打开一个文件并将其附加到另一个文件:
std::ifstream ifile("first_file.txt");
std::ofstream ofile("second_file.txt", std::ios::app);
//check to see that the input file exists:
if (!ifile.is_open()) {
//file not open (i.e. not found, access denied, etc). Print an error message or do something else...
}
//check to see that the output file exists:
else if (!ofile.is_open()) {
//file not open (i.e. not created, access denied, etc). Print an error message or do something else...
}
else {
ofile << ifile.rdbuf();
//then add more lines to the file if need be...
}
参考文献:
http://www.cplusplus.com/doc/tutorial/files/
https://stackoverflow.com/a/10195497/866930
标签:fwrite,c,file,append,atomic 来源: https://codeday.me/bug/20191011/1892623.html