0 k thích
109 đã xem
trong Kiến thức CNPM bởi (200 điểm)
em chào thầy cô ,anh chị và các bạn

mọi người cho em hỏi là khi mà em nhập thành công vào 1 file rồi xuất ra đúng như mong đợi và sau đó em lại nhập tiếp vào thì khi xuất ra thì phần lúc đầu em nhập đã bị mất và phần thứ 2 em nhập thì xuất hiện. Em nghĩ là phần thứ 2 em nhập vào đã đè lên phần thứ nhất và em đã sử dung fflush(stdin) nhưng ko khả quan. Mọi người cho em hướng giải quyết với ạ

vd: lúc đầu em nhập vài file là mảng như sau:

5 4 3 2 9

sau đó em nhập tiếp phần tử max = 9 vào thì lúc đó file chỉ có 1 dòng là

max = 9

Dòng mảng đầu tiên 5 4 3 2 9 đã bị mất

em cảm ơn thầy cô, anh chị và các bạn rất nhiều

chúc mọi người thật nhiều sức khỏe.

3 Trả lời

0 k thích
bởi (920 điểm)

Chào bạn, ko nhìn thấy code nên ko rõ nhưng theo mô tả thì có lẽ bạn không chỉ định kiểu mở file lúc bạn .open

ví dụ c++: file.open(fileName, options)
options ở đây có thể là std::ios_ base::app // app có thể thay bằng in, out, binnary, ate, trunc

app sau mỗi lần ghi sẽ di chuyển con trỏ xuống cuối file, in chỉ đọc, out chỉ ghi... bạn có thể google để xem chi tiết.

0 k thích
bởi (560 điểm)
Bạn thử đóng file đó lại sau đó mở ra, rồi di chuyển con trỏ đến cuối file để tiếp tục ghi thử xem
0 k thích
bởi (140 điểm)
bạn có thể sử dụng thư viện sau

#include <fstream>

fstream f;

f.open(fileName, options) => f.open("input.txt",ios::app); f << "nội dung ghi vào file";

ios::app sẽ ghi vào cuối của file.

ios::out sẽ ghi đè lên dữ liệu cũ.
Chào mừng đến với Q&A FIT. Bạn có thể đặt câu hỏi và nhận được câu trả lời từ các bộ phận hỗ trợ và những thành viên khác tại Khoa Công nghệ Thông tin, Trường Đại học Khoa học Tự nhiên, Đại học Quốc gia TP.HCM. Bạn hãy đăng nhập bằng tài khoản Google để gửi hoặc trả lời các câu hỏi.
...