E đang học phần liên quan đến tệp tin, e thấy cái ios::binary được mô tả là mở file với chế độ nhị phân. Nhưng mà e chưa hình dung được công dụng của nó là ntn??, e thấy để tạo file là text hay là bin thì tùy thuộc vào phần tên tệp minh tạo có ghi thêm đuôi txt hay đuôi bin không thôi (nếu ko ghi gì thì mặc định là text). Không biết những thứ mà e nói trên có đúng như e nghĩ không?
Và nội dung trong file là ký tự bthg hay là mã nhị phân thì phụ thuộc vào cách ghi file. Mong m.n có thể giải đáp thắc mắc của e :v
Thắc mắc về các thao tác với file trong C++
Cái này không đúng, đuôi file chỉ là quy ước với nhau, cái choose application cũng chỉ là quy ước.
Binary: một byte là một byte (nhớ flush)
Text: ghi một kí tự thì còn phải encode và hầm bà lằng các thứ.
vâng e hiểu phần đấy r ạ, nma cái ios::binary cái tác dụng của nó có thể hiện rõ ràng được ko ạ, vì e thấy cái đấy có hay ko cũng ko có gì thay đổi
Windows xuống dòng: 0x10 0x13
Linux xuống dòng: 0x10
đều là \n

Là đọc dữ liệu gốc của file.
Tức là file có bao nhiêu byte, cấu trúc các byte, giá trị như nào thì nó đọc y về như thế.
Ghi đọc binary làm gì ?
Để tránh quá trình encode/decode làm sai lệch cấu trúc của dữ liệu khi ghi/ đọc. Thường dùng khi đọc ghi dữ liệu không phải dạng text.
Tôi muốn lưu bức ảnh -> tôi dùng binary.
Tôi muốn lưu file mp3 -> tôi dùng binary.
Mpeg, avi, img, rar, iso, dat, zip, dll, exe, so, deb, porn, xxx… Tóm lại không phải text thì sẽ dùng binary.
Đuôi mở rộng không quy định định dạng tập tin và ngược lại.
Đuôi mở rộng chỉ là dạng nhận biết sơ bộ (không chính xác) về dữ liệu của tập tin.
Lấy ảnh (.png, .jpg) sửa thành .zip rồi bắt mấy chương trình đọc nội dụng nén mở thử xem.
Ngược lại định dạng Zip có nhiều đuôi mở rộng .zip .jar .obb .war .... thích đặt sao cũng được.
Đọc tập tin dạng nhị phân để lấy dữ liệu không lưu dạng văn bản và dữ liệu này thường ràng buộc lớn (đúng từng byte, chỉ sai 1 byte có thể hư dữ liệu). Thử xem, lấy tập tin nén hoặc Office (nén), hình ảnh, video rồi thêm, sửa hoặc xóa một hoặc vài byte và mở lại xem.
Tập tin văn bản thuần, chỉ văn bản thì thêm, sửa hoặc xóa sao cũng được. Mở và xem bình thường.
Tất nhiên, mọi thứ đều là nhị phân (0 và 1) gom thành byte để dễ thao tác.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?