How can you check if a file was successfully opened for writing in C?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "Checking the return value of fopen()". Trong C, fopen là chỗ duy nhất cho biết việc mở tệp có thành công hay không: thành công thì nó trả về một con trỏ FILE hợp lệ, thất bại thì trả về NULL, chẳng hạn khi đường dẫn sai hoặc tiến trình không có quyền ghi. Vì mọi hàm làm việc với tệp về sau đều cần con trỏ ấy, bắt buộc phải so nó với NULL ngay sau khi gọi, trước khi đem ra dùng. Ý "Using ferror()" sai vì ferror chỉ tra cờ lỗi của một dòng tệp đã mở được, muốn gọi nó thì trong tay phải có sẵn con trỏ FILE hợp lệ, nghĩa là việc mở đã thành công rồi. Ý "Using feof()" sai vì feof cho biết đã đọc tới cuối tệp, chuyện đó không liên quan gì tới việc mở tệp để ghi. Ý "Using fprintf()" sai vì fprintf là hàm ghi dữ liệu; nếu con trỏ truyền vào là NULL thì chương trình rơi vào hành vi không xác định chứ không nhận được thông báo lỗi nào.

Cùng phần 9

Xuất hiện trong 1 bộ đề