다음 예제에서는 Seek를 사용하여 cfile 파일의 시작 부분에서 포인터 1000바이트를 이동하는 방법을 보여 주며 있습니다. Seek는 데이터를 읽지 않으므로 나중에 CStdioFile:ReadString을 호출하여 데이터를 읽도록 해야 합니다. v1.1 – 2003년 8월 23일. 데니스 Jeryd의 통합 수정 유니코드 텍스트 파일의 식별은 전적으로 유니코드 바이트 순서 표시(0xFEFF)의 존재에 달려 있습니다. 파일이 유니코드가 아니라는 절대적인 보장은 아니지만 여기서 사용하는 유일한 방법입니다. 개선 을 제안 주시기 바랍니다. CStdioFile은 추가 메서드가 있는 CFile의 래퍼입니다. 이렇게 하면 기능이 텍스트 파일에서 한 줄의 문자열을 읽을 수 있습니다. 또한 파일에 문자열 줄을 작성하는 쓰기 함수가 있습니다.

MFC 예제: 다중 바이트 및 유니코드 읽기 및 쓰기에 대 한 CStdioFile 파생 클래스 데이비드 프리처드에 의해. 유니코드 파일과 다바이트 파일을 투명하게 읽고 쓰는 CStdioFile에서 파생된 클래스입니다. 버전 1.5. Seek 함수는 포인터를 지정된 양또는 상대적으로 이동하여 파일 내용에 임의로 액세스할 수 있도록 합니다. 검색 하는 동안 실제로 데이터를 읽을 수 없습니다. 요청된 위치가 파일 크기보다 크면 파일 길이가 해당 위치로 확장되고 예외가 throw되지 않습니다. 단일 매개 변수 생성자는 열린 파일 스트림을 CStdioFile 개체에 연결합니다. 허용된 포인터 값에는 미리 정의된 입력/출력 파일 포인터가 stdin, stdout 또는 stderr를 포함합니다. v1.5 – 2005년 11월 18일. 코드 페이지는 읽기 및 쓰기(UTF-8)를 위해 지정할 수 있습니다.

다중 바이트 버퍼가 제대로 계산됩니다. 앤디 굿윈에서 수정 CFile 기능 복제, 잠금 범위 및 잠금 해제 범위는 CStdioFile에 대해 지원되지 않습니다. 파일의 문자 수를 얻으려면 GetCharCount()를 호출할 수 있습니다. 그러나 이는 멀티바이트/UTF-8에서는 신뢰할 수 없습니다. CStdioFile:WriteString 파일에 한 줄의 문자열을 쓰고 끝에 줄 바호 문자를 추가합니다. CStdioFile:ReadString – 한 줄의 텍스트를 읽고 참조로 전달된 CString 인수에 넣습니다. v1.2 – 06 2005년 1월. 파일 버그(Howard J Oh) 스트림 파일이 버퍼링되고 텍스트 모드(기본값) 또는 이진 모드에서 열 수 있습니다.

나는 그것으로 사람들의 경험뿐만 아니라 버그, 문제, 개선 등의 보고를 듣고 싶습니다. 멀티 바이트와 유니 코드를 모두 투명하게 처리 할 수있는 능력은 기본적인 요구 사항인 것 같아서 이미 비슷한 제안이있을 것이라고 확신했지만 아무 것도 켜지지 않았습니다. 내가 뭔가를 놓친 거야? null 문자()를 종료하는 것은 파일에 기록되지 않습니다. 이 메서드는 파일캐리지 반환 줄 피드 쌍으로 파일에 lpsz의 줄 바선을 씁니다. nOpenFlags 파일 생성, 파일 공유 및 파일 액세스 모드에 대한 옵션을 지정합니다. 비트별 OR (| ) 연산자를 사용하여 여러 옵션을 지정할 수 있습니다. 읽기는 첫 번째 줄 바인 문자에 의해 중지됩니다. 이 경우 nMax-1 문자보다 적은 문자를 읽은 경우 줄 바운더링 문자가 버퍼에 저장됩니다. null 문자(“)는 두 경우 모두 추가됩니다. 아, 그리고 데모 대화 상자에 불쾌한 것을 실수로 포함시켰다면 알려주십시오. 내 아랍어와 중국어는 모든 좋은 되지 않습니다. 클래스의 사용은 매우 간단합니다.

CStdioFile의 세 가지 함수를 재정의합니다: Open(), ReadString() 및 WriteString(). 유니코드 파일을 작성하려면 Open() 함수를 호출할 때 플래그 CStdioFileEx::modeUnicode를 플래그에 추가합니다. 내가 쓴 번역 도구에 대 한 필요, 그리고 내 요구에 대 한 충분 한 충분 한 구현을 함께 노크. 이것은 정리 된 버전보다 조금 더, 그래서 버그와 결함의 모든 방법을 기대합니다. 기본 조합으로 데모 앱을 테스트했습니다 – 멀티 바이트 컴파일의 유니 코드 파일, 유니 코드 유니코드, 멀티 바이트 유니 코드 및 Multibyte-Multibyte, 그리고 다바이트 – 멀티 바이트 – 멀티 바이트, 그리고 그들은 모두 작동하는 것처럼 보입니다.