바이트를 파일에 써야합니다. 1 바이트의 자연 표현은 std::uint8_t
입니다. 문제는 istream.read()
및 ostream.write()
이 char
과 작동한다는 것입니다. 나는 두 가지 유형, 예를 들면 사이의 변환 수 :스트림에 안전하게 바이트 쓰기
char c;
input.read(&c, 1);
uint8_t b = (uint8_t)c;
uint8_t b = …;
char c = (char)b;
output.write(&c, 1);
char
종종 서명 유형 및 AFAIK 기록 비트 패턴이 될 것입니다 어떤 보장이 없기 때문에 문제가 될 수
int8_t
의 원래 내용과 동일합니다.
컴파일러와 OS간에 작동하는지 확인해야합니다. 따라서 한 컴퓨터에 무언가를 쓰면 다른 컴퓨터에서도 동일하게 읽을 수 있습니다.
이렇게하려면 표준을 준수하는 방법이 있습니까?
'std :: basic_istream'등 사용하는 것은 어떻습니까? –
'연산자''와'연산자''를 사용하여 시도해보십시오. 문제가 발생하지 않도록 읽고 쓰고 문자로만 작업하십시오. – andre