JavaScript is required

Câu lệnh sau có ý nghĩa gì: int open(tep1, O_TRUNC);

A.

Mở tệp nhị phân để ghi.

B.

Xóa nội dung của tệp.

C.

Mở tệp văn bản để đọc và ghi.

D.
Tất cả các đáp án trên.
Trả lời:

Đáp án đúng: B


Trong C/C++, hàm open() được sử dụng để mở một tệp tin. Tham số thứ hai của hàm này là một tập hợp các cờ (flags) để chỉ định cách tệp tin sẽ được mở.

  • O_TRUNC là một trong các cờ này. Khi O_TRUNC được sử dụng trong lệnh gọi open(), nó có nghĩa là nếu tệp tin đã tồn tại, nội dung của tệp tin sẽ bị xóa (truncate) về độ dài 0. Nói cách khác, nó xóa toàn bộ nội dung hiện có của tệp.

Vậy nên câu lệnh int open(tep1, O_TRUNC); có ý nghĩa là mở (hoặc tạo mới nếu chưa tồn tại) tệp tin có tên là tep1 và xóa toàn bộ nội dung hiện có của nó nếu tệp tin đó đã tồn tại. Việc mở ở đây không giới hạn là tệp nhị phân hay tệp văn bản, O_TRUNC chỉ tác động đến nội dung.

Câu hỏi liên quan