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.

B và C đú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` thường được sử dụng để đọc dữ liệu từ tệp văn bản (text file), không phải tệp nhị phân (binary file). `fscanf` sẽ cố gắng định dạng dữ liệu đọc được theo chuỗi định dạng (trong trường hợp này là "%d" cho số nguyên), và điều này không phù hợp khi làm việc với dữ liệu nhị phân thô.

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

- Hàm `fread` là hàm chuẩn để đọc dữ liệu từ tệp nhị phân.

- `&x`: Địa chỉ của biến `x`, nơi dữ liệu sẽ được lưu trữ.

- `sizeof(int)`: Kích thước của mỗi phần tử cần đọc (trong trường hợp này, kích thước của một số nguyên).

- `1`: Số lượng phần tử cần đọc (trong trường hợp này, đọc một số nguyên).

- `f`: Con trỏ tệp.

- Hàm này sẽ đọc `sizeof(int)` byte từ tệp `f` và lưu vào biến `x`.

C. getw(f);

- Hàm `getw` được dùng để đọc một số nguyên từ một luồng (stream). Tuy nhiên, hàm này ít được sử dụng hơn `fread` và có thể không tương thích trên mọi hệ thống.

D. B và C đúng

- Vì cả B và C đều có thể được sử dụng để đọc một số nguyên từ một tệp (nhị phân), phương án này là đúng nhất.

Câu hỏi liên quan