Tôi đang viết một chương trình đơn giản ghi vào một tệp nhị phân, đóng nó và sau đó đọc dữ liệu vừa được viết. Tôi đang cố gắng viết một mảng ký tự không dấu. Tôi đang gặp một số vấn đề trong khi đọc dữ liệu. Tôi không chắc chắn chính xác nếu tôi đang viết dữ liệu không đúng cách hoặc đọc sai. Khi tôi đọc dữ liệu tôi nhận được kết quả đầu ra của mình là: 5 bytes
cho số byte được đọc, nhưng đầu ra tôi nhận được không giống như các giá trị tôi đã viết cho tệp.Viết và đọc các ký tự chưa ký thành tệp nhị phân
FILE *binFile = fopen("sample","wb");
unsigned char data[5]={5,10,15,20,25};
fwrite(data,sizeof(unsigned char),sizeof(data),binFile);
fclose(binFile);
unsigned char data2[5];
binFile = fopen("sample","rb");
int s = fread(data2,1,sizeof(data),binFile);
fclose(binFile);
cout<<s<<" bytes\n";
for(int i=0; i<5;i++)
cout<<data2[i]<<" ";
cout<<"\n";
Bạn muốn viết bao nhiêu byte? – phoxis
thử mảng này giá trị 'dữ liệu [5] = {'a', 'b', 'c', 'd', 'e'};' với mã của bạn mà không có typecase Tôi nghĩ rằng nghi ngờ của bạn sẽ rõ ràng beater. Bạn đang viết giá trị acsii bạn đang in giá trị ascii con được thèm muốn vào char-symbol –