Vấn đề của file nhị phân c++

mình có 1 đoạn code đọc file nhị phân thế này

#include<fstream>
#include<iostream>
#include<string>
#include<Windows.h>
using namespace std;

void main()
{
	fstream F("yeu tu xa.mp3", ios::in | ios::binary);
   
	
	while (!F.eof())
	{
		char x;
		F >> x;
		int k = x;
		cout << k << "\t";
		Sleep(100);
		
	}
	
	system("pause");
}

Không hiểu tại sao khi xuất ra màn hình lại có số -1 với -2 trong đó. Theo mình biết thì bản mã ascii chỉ có các ký tự từ 0-255 thôi. Nếu khi in ra thì nó sẽ chỉ có số từ 0-255 thôi chứ nhỉ?

Ai giúp mình phát

Kiểu char là kiểu có dấu, bạn đổi thành unsigned char là được.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?