Cho tệp nhị phân DATA chứa dãy các cấu trúc liền nhau L struct T{…} x;và f là con trỏ tệp đến DATA. Chọn câu đúng nhất trong các câu sau:
A.
Lệnh fseek(f,10,SEEK_END) định vị con trỏ tệp đến byte thứ 10 trong tệp.
B.
Đoạn lệnh fseek(f, 10, SEEK_END); định vị con trỏ tới cuối tệp.
C.
Giả sử tệp có n cấu trúc, lệnh fseek(f, n, SEEK_SET) sẽ đặt con trỏ tới cấu trúc cuối cùng của tệp.
D.
Giả sử tệp có n cấu trúc, lệnh fseek(f, n, SEEK_CUR); sẽ không làm thay đổi vị trí con trỏ của tệp.
Trả lời:
Đáp án đúng: C
**Phân tích câu hỏi:**
Câu hỏi kiểm tra kiến thức về hàm `fseek()` trong C/C++ để định vị con trỏ tệp trong tệp nhị phân.
**Đánh giá các phương án:**
* **A. fseek(f,10,SEEK_END):** Sai. Di chuyển 10 byte *từ* cuối tệp về đầu.
* **B. fseek(f, 10, SEEK_END):** Sai. Để tới cuối tệp cần offset 0.
* **C. fseek(f, n, SEEK_SET):** Sai. Chỉ định vị tới byte `n`, không phải cấu trúc thứ `n`. Cấu trúc cuối là `n-1`.
* **D. fseek(f, n, SEEK_CUR):** Đúng *nhất*. Chỉ đúng khi n=0.
**Kết luận:**
Phương án D đúng nhất do các phương án còn lại sai nhiều hơn.