만들어주신대로 적용해보앗습니다.
컴파일결과
fp = _wfopen(strSrcFileName.w_str(), L"wb");
이곳에서 에러가 발생합니다.
[BCC32 Error] : E2316 'w_str' is not a member of 'AnsiString'
송신영 님이 쓰신 글 :
: 참고 :
http://six605.tistory.com/309
:
: 3. 유니코드 문자를 텍스트 파일로 저장할 때 주의해야 할점
: - 파일에 유니코드를 관리할 때 바이너리 모드르 다루어야 한다.
: - 유니코드 텍스트파일의 첫 헤더의 경우 일반 아스키 텍스트파일과 틀리다.
: : 즉, 파일의 첫 부분에 16진수 0xFEFF 를 기록해야 해당 파일이 유니코드로 작성된 텍스트 파일임을
: 시스템이 파악한다.
: cf) 플랫폼 별로 Big-Endian 시스템에서는 0xFEFF 를 기록하고, Little-Endian 시스템 에서는 0xFFFE 를 기록한다.
: 윈도우 메모장은 이 두가지 형식을 다 지원하므로 어떤 값을 기록해도 유니코드로 인식하며, 파일을 읽을 수 있다.
:
:
: FILE *fp;
: String strSrcFileName = "test1.txt";
: fp = _wfopen(strSrcFileName.w_str(), L"wb");
: WORD mark = 0xFEFF;
: fwrite(&mark, sizeof(WORD), 1, fp);
: fwprintf(fp, L"파일출력12345");
: fclose(fp);
:
:
: 김동석 님이 쓰신 글 :
: : FILE *fp;
: : AnsiString strSrcFileName;
: : strSrcFileName.sprintf("test.txt");
: : fp = fopen(strSrcFileName.c_str(), "W+t");
: : fprintf(fp,"파일내용");
: : fclose(fp);
: :
: :
: : 기본적으로 Text파일은 밑에 4종류 형식으로 나뉘어지는데요.
: : ANSI
: : UTF-8
: : Unicode
: : Unicode (Big Endian)
: :
: : 위에 소스방식으로 현재 파일을 생성하는데 ANSI 방식으로 파일이 만들어지는거 같은데,
: :
: : 이건 Unicode 형식으로 만들려면 어찌 해야되나요?