1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <stdio.h>
#include <locale.h>
 
int wmain()
{
    setlocale(LC_ALL, ".OCP");
    FILE* fp = nullptr;
    if (_wfopen_s(&fp, L"test.txt", L"wt, ccs=UTF-16LE") != 0)                                                             
        return -1;
    fwprintf_s(fp, L"가나다라ABCD");
    fclose(fp);
    fp = nullptr;
 
    if (_wfopen_s(&fp, L"test.txt", L"rt, ccs=UTF-16LE") != 0)
        return -1;
    wchar_t ttt[1024] = {0};
    fwscanf_s(fp, L" %s ", ttt, 1024);
    fclose(fp);
    fp = nullptr;
 
    wprintf_s(L"%s\n", ttt);
 
    if (_wfopen_s(&fp, L"test.txt", L"rb") != 0)
        return -1;
 
    unsigned char buf[1024] = {0};
    size_t ret = fread_s(buf, 1024, 1, 1024, fp);
    wprintf_s(L"Size: %d bytes\n", (int)ret);
    for (size_t i = 0; i < ret; ++i)
    {
        wprintf_s(L"%02x ", buf[i]);
        if (i % 16 == 15)
            wprintf_s(L"\n");
    }
 
    fclose(fp);
    fp = nullptr;
 
    return 0;
}

필요시 , ccs=UTF-16LE뺴고 저장하면 안시로 저장잘됨

'Windows 개발' 카테고리의 다른 글

파일숨기기  (0) 2014.11.25
유니코드 문자열 함수들  (0) 2014.11.24
기본상식  (0) 2014.11.21
unicode 와 ansi, std::string 과 CString 상호 변경하기  (0) 2014.11.19
데이터 형 변환 string to TCHAR*  (0) 2014.11.11
Posted by wakira
,