簡體   English   中英

MFC 序列化 C++

[英]MFC serialize C++

我正在嘗試在 MFC 中序列化一個列表框。

我使用了這個代碼:

CFileDialog fileDlg(FALSE, _T(".txt"), NULL, 0, _T("Text File (.txt)|*.txt|")
        _T("All files (*.*)|*.*||"));

    if (fileDlg.DoModal() == IDOK)
    {
        const int numItems = m_listBox.GetCount();
        CString itemText;
        CStdioFile file;

        if (file.Open(fileDlg.GetFileName(), CStdioFile::modeCreate | CStdioFile::modeWrite))
        {
            for (int i = 0; i < numItems; ++i)
            {
                m_listBox.GetText(i, itemText);
                file.WriteString(itemText);
                file.WriteString(_T("\n"));
            }

            file.Close();
        }

但是保存的文件總是空的。 我嘗試了許多從列表框保存到文本文件的函數版本,但沒有奏效。

在您的代碼中,您使用的是CFileDialog::GetFileName 這是故意的嗎? 那只會傳入文件

我會使用CFileDialog::GetPathName返回文件的完整路徑

並且您應該使用調試器(在調試模式下編譯),以便您可以運行您的代碼。

CStdioFile::Open方法也可以傳遞一個指向異常對象的指針。 看看幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM