việc học là 1 quá trình nên nó đòi hỏi chung ta phải chăm chỉ từ ngay đầu tiên đến ngày cuối cùng còn học mà mất gốc thì bỏ đi nó như 1 cây không rễ
còn học khó vì nó có rất nhiều vấn đề đòi hỏi chúng ta làm phải hiểu mà thường 2 đến 3 tiếng chỉ tìm hiểu được 1 vấn đề nên chúng ta muốn giỏi phải làm việc cần mẫn và bỏ nhiều thời gian cho nó, học nên đi từ từ từng chút 1 không đi tắt đón đầu
nói chung stream là 1 dãy các byte, còn hệ thống nhập xuất chịu trách nhiệm chuyển các byte này từ bộ nhớ ra các thiết bị hay ngược lại 1 cách đáng tin cậy

nói chung khi sử dụng cin là bạn đã kết nối với 1 thiết bị nhập vào thông thường là bàn phím hay nói cách khác cin(tạo kết nối với thiết bị nhập)
>> còn toán tử này dùng để lưu dữ liệu vào bộ nhớ
với c hay c++ thì nó coi tất cả các thiết bị đều là file và bàn phím hay màn hình nó đều coi là 1 cái file


giờ các bạn đã hiểu tại sao chúng ta in 1 đối tượng kiểu char* lại được như vậy rồi chứ và mình thấy cô viết slide này rất có tâm nên các bạn nên tìm hiểu để đọc
trong dòng nhập. Toán tử trích dòng>> trả về zero (false) khi kết thúc file (end-of-file) được bắt gặp trên một dòng vd nếu chúng ta cho đối tượng kiểu int mà nhập vào kí tự nó sẽ trả về false nhưng không báo lỗi
EOF trên windows và trên linux
  • Trên Window là ctr-z
  • Trên Linux là ctr-d
bây giờ chắc các bạn đã hiểu tại sao có getline() và cin.getline()
chúng ta có thể nhập xuất không định dạng với read, write ví dụ
cin.read(a, 10);
Trích các byte từ dòng cho đến khi giới hạn nCount đạt đến hoặc cho đến khi end- of-file đạt đến. Hàm này có ích cho dòng nhập nhị phân.
cout.write(a, 10);
Chèn nCount byte vào từ vùng đệm (được trỏ bởi puch và psch) vào dòng. Nếu file được mở ở chế độ text, các ký tự CR có thể được chèn vào. Hàm này có ích cho dòng xuất nhị phân. Chẳng hạn:s