Đọc và ghi dữ liệu sử dụng bộ nhớ đệm buffer

Cho mình hỏi đoạn code này đã đúng chưa :expressionless: mình viết dựa theo những gì mình hiểu và tham khảo từ gg :))) . Bài đăng đầu tiên, mong nhẹ tay.

// Code ghi dữ liệu vào file
void fileBin::writeToFile(){

    char sourceLink[40];
    cout<< "Enter source link or name file as same root: ";
    cin>> sourceLink;
    fstream binFile;
    binFile.open(sourceLink, ios:: out | ios:: binary | ios:: app);
    

// Ghi du lieu vao file bang bo nho dem buffer
    while(1){
        string text;
        cin>> text;
        char *buffer =new char[text.size()+1];
        strcpy(buffer, text.c_str());
        cout<< buffer;
        if (buffer[0]=='y'&& buffer[1]=='\0') break;
        binFile.write(buffer, strlen(buffer));
        binFile<< endl;
    }
    binFile.close();
}

Nhân tiện mình hỏi thêm về file nhị phân và file thông thường. file nhị phân sẽ lưu dưới dạng mã máy, vậy khi dùng read để đọc nó ra thì mình thấy nó không khác gì khi mình xuất ra bằng getline cho lắm.
Ai cho mình ví dụ cụ thể về cái này… phân biệt luôn giùm ạ :cow:

Ai edit giùm với ạ :slight_smile: mình chưa quen bbcode

Diễn đàn mình dùng Markdown: Cách post Code dùng Markdown trong Category Programming

Anh có thể nói rõ hơn về cái buffer, nếu như trong video thì e thấy có vẻ chưa đủ, đề bài bọn e là:
Sử dụng bộ đệm buffer để đọc và ghi file :slight_smile: e hỏi nhiều đứa bạn nhưng cũng chưa làm rõ được vấn đề này a

Buffer mà em đang nói tới khác với cái anh nói trong videos :slight_smile: Nếu nói về file thì em tưởng tượng đó là một vùng nhớ tạm là được rồi.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?