Mình lưu 1 file nhị phân gồm các phần tử với kiểu dữ liệu char, mọi người cho hỏi có cách nào kiểm tra xem mình đã lưu được bao nhiêu phần tử trong file đó không ạ, mình dùng feof() mà thấy không chuẩn lắm, đọc kỹ bài viết: https://stackoverflow.com/questions/5431941/why-is-while-feof-file-always-wrong mới biết hàm này không dùng được trong trường hợp này 
Hỏi cách kiểm tra số lượng phần tử trong file nhị phân C
Bạn nên lưu số pt vào đầu file. Còn I/O thì toàn kiểu “cà thẻ mới biết hết tiền” chứ hỏi ko đc đâu 
Mình đang muốn in ra các ký tự file trong 1 file nhị phân mà không dùng eof để kiểm tra điểm kết thúc được, định hỏi cách tìm số phần tử để tạo vòng lặp, không biết còn cách nào hay hơn không
Hi Nguyễn Đức Duy.
File này do bạn sinh ra hay file định dạng chuẩn ?
file này mình dùng lệnh tạo ra thôi bạn
Hi Nguyễn Đức Duy.
Vậy bạn đọc về các định dạng file để làm theo nhé.
theo em nghĩ thì tìm số lượng phần tử bằng ftell . trước em có dùng hàm ftell này cho việc tạo bộ nhớ động cho 1 struct chuyên nhận kí tự từ bàn phím để lưu lại nên em nghĩ là có thể lắm
Nếu file chỉ có header + tất cả record có size cố định thì SEEK_END được.
tuỳ vào loại phần tử trong file là gì thì có những pp khác nhau. giả sử là nếu phần tử của file bác là struct thì có thể dùng:
unsigned num = (ftell(pfout) / sizeof(struct));
em áp dụng giống như tư duy về việc tính số phần tử trong mảng…
Nếu e sai hãy nêu luận điểm của các bác nhé, em rất hoan nghênh…
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?