Chào các anh chị, em mới học phần đọc ghi file nhị phân C/C++ nên có 1 chút khó hiểu.
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
-
ptr
− Đây là con trỏ tới một khối bộ nhớ với kích cỡ tối thiểu làsize*nmemb
byte. -
size
− Đây là kích cỡ (giá trị byte) của mỗi phần tử được đọc. -
nmemb
− Đây là số phần tử, với mỗi phần tử có kích cỡ làsize
byte. -
stream
− Đây là con trỏ tới một đối tượng FILE mà xác định một Input Stream.
Em muốn hỏi là nmemb
ở đây có tác dụng gì, vì các BT em làm hầu như chỉ viết là nmemb=1
trong khi đó hàm read(buf, BUF_SIZE);
trong C++ ko cần thiết phải có nmemb
(số phần tử) vẫn dùng được. Thì nếu dùng hàm read()
có có bị hạn chế gì khi ko dùng nmemb
ko?
Em dùng
fread()
để đọc 4 byte vào biến int32_t x
thì được. Vậy có cách nào để dùng fi.read()
để đọc 4 byte
vào y
ko ạ. Đây có phải là hạn chế của read()
cho với fread()
ko ạ?Em đã tra google nhưng vẫn còn chút thắc mắc. Mong các anh giúp đỡ. EM cảm ơn ạ