読者です 読者をやめる 読者になる 読者になる

tmytのらくがき

個人の日記レベルです

テキストファイルの処理

TodayTickerとかTodayNotesのテキスト処理はこんな感じの手抜き仕様です。

void CTodayItem::loadTextList()
{
    wchar_t dllpath[MAX_PATH] = {0};
    GetModuleFileName(m_hInstance, dllpath, MAX_PATH);
    for (int i = MAX_PATH - 1; dllpath[i] != L'\\' && i >= 0; dllpath[i--] = L'\0');
    wcscat(dllpath, L"TodayNotes.txt");

    // クリア
    m_texts.clear();

    std::wifstream ifs(dllpath);
    std::wstring s;
    while (std::getline(ifs, s))
        m_texts.push_back(s);
}

void CTodayItem::saveTextList()
{
    wchar_t dllpath[MAX_PATH] = {0};
    GetModuleFileName(m_hInstance, dllpath, MAX_PATH);
    for (int i = MAX_PATH - 1; dllpath[i] != L'\\' && i >= 0; dllpath[i--] = L'\0');
    wcscat(dllpath, L"TodayNotes.txt");

    std::wofstream ofs(dllpath);
    for (std::deque<std::wstring>::iterator it = m_texts.begin(); it != m_texts.end(); ++it)
        ofs << *it << std::endl;
}

なのでファイルのエンコードSJISなんですね。