JavaScript is required

Giả sử f là con trỏ tệp nhị phân. Để đọc từ f cho biến x kiểu int, ta có thể dùng:

A.

fscanf(f, "%d", x);

B.

fread(&x, sizeof(int), 1, f);

C.

getw(f);

D.
2 và 3 đúng.
Trả lời:

Đáp án đúng: D


Câu hỏi này kiểm tra kiến thức về các hàm đọc dữ liệu từ tệp nhị phân trong C.

  • A. fscanf(f, \"%d\", x); Hàm fscanf được sử dụng để đọc dữ liệu từ một tệp đã được mở ở chế độ văn bản (text mode), không phải nhị phân. Nó đọc dữ liệu theo định dạng được chỉ định (trong trường hợp này là số nguyên) và lưu vào biến được trỏ bởi con trỏ x. Tuy nhiên, vì f là con trỏ tệp nhị phân, sử dụng fscanf là không phù hợp.
  • B. fread(&x, sizeof(int), 1, f); Hàm fread được sử dụng để đọc dữ liệu từ tệp nhị phân. Tham số đầu tiên là địa chỉ của biến để lưu dữ liệu đọc được (&x), tham số thứ hai là kích thước của mỗi phần tử cần đọc (sizeof(int)), tham số thứ ba là số lượng phần tử cần đọc (1), và tham số cuối cùng là con trỏ tệp (f). Đoạn mã này sẽ đọc một số nguyên từ tệp nhị phân f và lưu vào biến x. Đây là phương pháp chính xác để đọc dữ liệu từ tệp nhị phân.
  • C. getw(f); Hàm getw cũng được sử dụng để đọc một số nguyên từ tệp, nhưng nó là một hàm cũ và không được khuyến khích sử dụng trong các chương trình hiện đại. Nó có thể không hoạt động đúng trên tất cả các hệ thống.
  • D. 2 và 3 đúng.getw không được khuyến khích và có thể không tương thích, chỉ có phương án 2 đúng.

Vậy, đáp án đúng là B.

Câu hỏi liên quan