Nhờ chỉ giúp seekp trong C++

Em có 1 file text.txt có nội dung là:
123456789
Làm sao mở và ghi vào trong file để nó không mất dữ liệu trong file, và mình có ghi tiếp sau cái chuỗi kí tự kia được vậy mấy anh chị? VD sau khi ghi thêm abc:
123456789abc

#include<iostream>
#include<fstream>
int main(){
	std::fstream file;
    file.open("text.txt", std::ios::in);
	if (file.fail()) {
		std::cout << "\n File khong ton tai.";
		system("pause");
		return -1;
	}

	file.close();
	file.open("text.txt",std::ios::out);
    file.seekp(std::ios::end);
    file<<"abc";
    file.close();
    return 0;
}

Em viết đoạn code như trên khi mở file ra chỉ hiện " abc"

Tham số thứ 2 của file.open();

file.open("text.txt", std::ios::out|std::ios::app);

Tham khảo: http://www.cplusplus.com/reference/fstream/fstream/open/

1 Like

Không còn cách khác hả anh, nếu như giờ mình muốn chèn abc vào vị trí thứ 6 của dãy số 123456789 thì làm sao anh? VD: 1234567abc89
Hoặc chèn đè lên vị trí thứ 3, VD: 123abc789 thì phải làm sao anh?

Thì ghi lại từ đầu chứ sao. Luồng tập tin chỉ có ghi đè chứ không có chèn.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?