写一个运行于arm linux系统的c++代码片段,将文本文件A.log和B.log内容拼接到文本文件C.log中
时间: 2024-12-19 13:26:04 浏览: 7
当你需要在ARM Linux系统上编写C++代码来合并两个文本文件(A.log和B.log)的内容到一个新的文本文件(C.log)中,可以使用标准库中的fstream和iostream。以下是一个简单的示例:
```cpp
#include <fstream>
#include <iostream>
void mergeFiles(const std::string& srcFile1, const std::string& srcFile2, std::string& destFile) {
std::ifstream file1(srcFile1, std::ios::in);
std::ifstream file2(srcFile2, std::ios::in);
std::ofstream outputFile(destFile, std::ios::out | std::ios::trunc);
if (!file1.is_open() || !file2.is_open() || !outputFile.is_open()) {
std::cerr << "Error opening files!" << std::endl;
return;
}
std::string line;
while (std::getline(file1, line)) {
outputFile << line << "\n";
}
file1.close();
// 如果第二个文件还有剩余内容,继续读取并写入
while (std::getline(file2, line)) {
outputFile << line << "\n";
}
file2.close();
outputFile.close();
}
int main() {
std::string srcFile1 = "/path/to/A.log";
std::string srcFile2 = "/path/to/B.log";
std::string destFile = "/path/to/C.log";
try {
mergeFiles(srcFile1, srcFile2, destFile);
std::cout << "Files merged successfully!" << std::endl;
} catch (const std::exception& e) {
std::cerr << "Merge failed: " << e.what() << std::endl;
}
return 0;
}
```
这个程序首先打开源文件A.log和B.log,然后逐行读取并将内容追加到destFile中。注意替换`"/path/to/"`部分为实际文件路径。
阅读全文