스트림에서 fgetc 함수는 몇 비트를 읽습니까?스트림에서 fgetc가 읽는 비트 수는 얼마입니까?
fgetc의 맨 페이지는이 함수가 "문자"를 읽지 만 문자는 나를위한 명확한 정의가 아니라고 알려줍니다. 얼마나 많은 비트가 "문자"를 포함합니까? 바이트를 읽는 것과 fgetc가 같은 문자를 읽는 것이 맞습니까?
기계의 아키텍처와 "char"또는 "byte"의 크기에 따라 다릅니 까?
내 목표는 이식성있는 스트림 (바이트 = 8 비트 또는 바이트 = 16 비트)에서 이진 데이터를 읽는 것입니다. 스트림에서 읽는 비트 수를 제어하기 위해 fgetc 대신 uintN_t와 같은 유형의 fread/fwrite를 사용하는 것이 더 좋은 생각입니까? 더 나은 해결책이 있습니까?
감사합니다. 그러나 서로 다른 아키텍쳐를 가진 머신간에 공유되는 파일에 바이너리 데이터를 쓰고 싶다면 바이너리 표현에주의해야합니다. 나는 당신이 endianness에도주의를 기울인다면 uintN_t를 사용하는 것이이 문제를 해결한다고 생각한다. – mvera
@mvera 엔디안 독립적 인 출력이 필요한 경우 "BOM"(UTF-16 및 UTF-32의 경우 바이트 순서 표시)을 작성하거나 소프트웨어를 실행하려는 각 플랫폼에 8을 사용해야합니다 비트 바이트는 오늘날 중요한 규모로 사용되는 모든 인기있는 플랫폼입니다. – rubenvb