Consider the following code snippet that writes text to a file named "output.txt":

4 phương ánCó giải thích
Đề bài
#include <stdio.h>
int main() {
    FILE *file_ptr;
    file_ptr = fopen("output.txt", "w");
    if (file_ptr == NULL) {
        printf("Unable to open the file.\n");
        return 1;
    }
    fprintf(file_ptr, "Hello, World!\nThis is a test.");
    fclose(file_ptr);
    return 0;
}

Assuming the code is executed successfully, what will be the content of the "output.txt" file?

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: "Hello, World! This is a test." Chuỗi định dạng truyền cho fprintf chứa dãy thoát xuống dòng ở giữa, nên khi ghi ra tệp nó trở thành một ký tự xuống dòng thật, chia nội dung thành hai dòng; fprintf ghi đúng những gì chuỗi định dạng mô tả, không tự thêm hay bớt ký tự nào, và chế độ w tạo tệp mới hoặc xoá trắng tệp cũ trước khi ghi, còn fclose đẩy hết bộ đệm xuống đĩa nên nội dung chắc chắn được lưu đủ. "Hello, World! This is a test." sai vì nó thay ký tự xuống dòng bằng một khoảng trắng, chuyện đó không xảy ra. "Hello, World!" sai vì nó chỉ lấy phần trước dấu xuống dòng, trong khi một lần gọi fprintf ghi trọn chuỗi. "This is a test." sai vì nó bỏ phần đầu của chuỗi, mà không có lệnh nào ghi đè phần đó.

Cùng phần 9

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