30/09/2018, 16:50
Không thể đọc thông tin từ tệp tin nhị phân
Em có đoạn code sau, đọc thông tin từ tệp tin nhị phân input.bin và show ra màn hình
void main(){
FILE *pfile = fopen("input.bin", "rb");
int a = 0;
if (pfile == NULL)
{
printf("File open failed!
");
}
rewind(pfile);
fread(&a, sizeof(int), 1, pfile);
printf("%d", a);
fclose(pfile);
_getch();
}
Trong file là số 2 nhưng nó lại load lên là 50, mọi ng xem giúp
Bài liên quan
Bởi vì file đó không phải là file binary, mà là file text. Giá trị lưu vào là số 2 tương ứng với 50 trong bản ASCII
Đây là code mới, ghi file xuống rồi đọc lên ra số 2.
Em thử chạy code của anh thì ok, sửa code để đọc trong file có 2 phần tử là 2, 10 (cách nhau bằng dấu space). Thì khi xuất ra a = 1 số rác 86804340 gì đấy. Code của em.
Còn khi sửa
thì nó đọc đc a, xuất ra a = 50.
Em đừng nói là em lại tiếp tục mở file đó lên và sửa bằng tay nhé?
À vậy là phải viết bằng fwrite luôn, tập nhị phân ko sửa tay đc ạ? Em mới biết, ok tks anh nhiều nha
Sửa bằng tay thì nó ở dạng text file rồi