>백엔드 개발 >C++ >텍스트와 바이너리 파일 모드: 주요 차이점과 의미는 무엇입니까?

텍스트와 바이너리 파일 모드: 주요 차이점과 의미는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-26 14:14:101035검색

Text vs. Binary File Modes: What are the Key Differences and Implications?

텍스트 모드와 바이너리 모드: 불일치 발견

파일을 다룰 때 텍스트 모드와 바이너리의 차이점을 이해하는 것이 중요합니다. 방법. 텍스트 모드에서 열린 파일로 작업하는 동안 바이너리 모드의 번역과 다른 특정 번역이 발생합니다.

MS Visual C의 예

다음 코드 조각을 고려하세요. 문자 값을 포함하는 버퍼는 두 개의 파일에 기록됩니다. 하나는 바이너리 모드로 열리고 다른 하나는 텍스트로 열립니다. 모드:

unsigned char buffer[256];
for (int i = 0; i < 256; i++) buffer[i]=i;
int size  = 1;
int count = 256;

FILE *fp_binary = fopen(filename, "wb");
fwrite(buffer, size, count, fp_binary);

FILE *fp_text = fopen(filename, "wt");
fwrite(buffer, size, count, fp_text);

텍스트 모드 번역

MS Visual C에서 텍스트 모드로 파일을 열면 작성 중에 특정 번역이 발생합니다.

  • 개행 문자('n')는 'rn' 시퀀스로 변환됩니다.
  • 캐리지 반환/줄 바꿈 시퀀스는 줄 바꿈으로 변환됩니다.
  • 파일이 추가 모드로 열리면 파일 끝에서 Ctrl-Z(Ctrl Z) 문자가 제거되어 파일 끝으로 해석될 수 있습니다. .
  • 이전처럼 Ctrl-Z 문자가 추가되지 않습니다.

의미

텍스트 모드의 이러한 번역은 줄 끝이 Windows 규칙을 따르도록 보장하며 이는 텍스트 기반 애플리케이션과의 호환성에 중요할 수 있습니다. 그러나 바이너리 데이터를 처리하는 경우 데이터를 손상시킬 수 있는 예기치 않은 번역을 방지하려면 바이너리 모드를 사용하는 것이 필수적입니다.

위 내용은 텍스트와 바이너리 파일 모드: 주요 차이점과 의미는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.