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++ dùng để định vị con trỏ tệp trong một tệp nhị phân chứa các cấu trúc. Cần hiểu rõ các tham số của `fseek()` và cách nó hoạt động với các hằng số `SEEK_SET`, `SEEK_CUR`, `SEEK_END`.
**Đánh giá các phương án:**
* **A. Lệnh `fseek(f,10,SEEK_END)` định vị con trỏ tệp đến byte thứ 10 trong tệp.**
* Sai. `SEEK_END` chỉ vị trí bắt đầu đếm là từ cuối tệp. Lệnh này sẽ di chuyển con trỏ đến vị trí cách cuối tệp 10 byte *về phía trước* (vì offset là dương). Không phải byte thứ 10 tính từ đầu tệp.
* **B. Đoạn lệnh `fseek(f, 10, SEEK_END);` định vị con trỏ tới cuối tệp.**
* Sai. Như đã giải thích ở phương án A, `fseek(f, 10, SEEK_END)` di chuyển con trỏ 10 byte *từ* 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.**
* Sai. Lệnh `fseek(f, n, SEEK_SET)` sẽ di chuyển con trỏ đến byte thứ `n` *từ đầu tệp*. Nó không đảm bảo rằng con trỏ sẽ trỏ tới cấu trúc cuối cùng. Để trỏ đến cấu trúc cuối cùng cần phải nhân n với kích thước của mỗi struct.
* **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.**
* Sai. `SEEK_CUR` sử dụng vị trí hiện tại của con trỏ làm điểm bắt đầu. Câu lệnh này sẽ di chuyển con trỏ tệp đi `n` byte so với vị trí hiện tại. Chỉ khi n=0 thì con trỏ mới không bị thay đổi.
**Kết luận:**
Không có đáp án nào đúng trong các phương án đã cho.
Tổng hợp 600+ câu hỏi trắc nghiệm lập trình C có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.
50 câu hỏi 60 phút
Câu hỏi liên quan

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
