blob: d05f49542b4a29018da6b7a2883ac5cb00439da8 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#include <fstream>
#include <iostream>
int main() {
char fileName1[1024];
std::cin.getline(fileName1, 1024);
char fileName2[1024];
std::cin.getline(fileName2, 1024);
std::fstream file1(fileName1);
if (!file1.is_open()) {
std::cout << "Couldn't open file!" << std::endl;
return 1;
}
std::ifstream file2(fileName2);
if (!file2.is_open()) {
std::cout << "Couldn't open file!" << std::endl;
return 1;
}
file1.seekg(0, std::ios::end);
size_t endIndex = file1.tellg();
size_t middleIndex = endIndex / 2;
size_t latterHalfSize = endIndex - middleIndex;
file1.seekg(middleIndex, std::ios::beg);
char* buffer = new char[latterHalfSize];
file1.read(buffer, latterHalfSize);
file1.clear();
file1.seekp(middleIndex, std::ios::beg);
while (file2.peek() > -1) {
file1.put(file2.get());
}
file1.write(buffer, latterHalfSize);
delete[] buffer;
file1.close();
file2.close();
}
|