Tôi đang cố mở tệp nhị phân để ghi mà không xóa nội dung. Nhưng tôi không muốn viết thư cho eof. Tôi muốn ghi vào một vị trí cụ thể trong hồ sơ.Ghi vào giữa tệp nhị phân hiện có C++
Dưới đây là một ví dụ litte:
ofstream out("test.txt", ios::binary | ios::app);
for(int i = 0; i < 100; i++)
out.put('_');
out.write("Hallo", 5);
out.close();
ofstream out2("test.txt", ios::binary | ios::app);
out2.seekp(10);
out2.write("Welt", 4);
out2.close();
Nếu sử dụng ứng dụng, tìm kiếm không hoạt động. Nếu không sử dụng tệp mở ứng dụng sẽ xóa dữ liệu. Có ai biết câu trả lời không?
Tôi vừa thử out2.seekp (10, ios_base :: beg) ;. Điều đó không thay đổi bất cứ điều gì. –
Không nên xóa tệp trừ khi bạn chỉ định ios :: trunc – crashmstr
@crashmstr, bạn nói đúng. Tôi đang xóa nhận xét của mình. –