weixin_59005826
weixin_59005826
2021-06-06 09:29
采纳率: 100%
浏览 20

这段程序能给我写标注,每一行都特别清楚,每一个代码都很清楚

void CEx_FileDlg::OnButtonOpen() 

{

// TODO: Add your control notification handler code here

CString filter;

filter = "文本文件(*.txt)|*.txt|C++文件(*.h,*.cpp)|*.h;*.cpp||"; 

CFileDialog dlg (TRUE, NULL, NULL, OFN_HIDEREADONLY, filter);

if (dlg.DoModal () != IDOK) return;

 

CString strFileName = dlg.GetPathName();

CFileStatus status;

if( !CFile::GetStatus( strFileName, status ) )   

{

MessageBox("该文件不存在!");

return;

}

 

m_strTitle.Format( "%s [%s,%ld字节]", strFileName, 

status.m_ctime.Format( "%Y-%m-%d" ), status.m_size );

UpdateData( FALSE );

 

// 打开文件,并读取数据

m_strContent.Empty();

CFile theFile;

if (!theFile.Open(  strFileName, CFile::modeRead ))

{

MessageBox("该文件无法打开!");

return;

}

 

char      szBuffer[80]; 

UINT      nActual = 0; 

 

while ( nActual = theFile.Read( szBuffer, sizeof( szBuffer ) ) )

{

CString str( szBuffer,  nActual );

 

m_strContent = m_strContent + str;

}

 

theFile.Close();

UpdateData( FALSE );

}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • technologist_32
    CSDN专家-Time 2021-06-06 09:29
    已采纳
    void CEx_FileDlg::OnButtonOpen() // 定义函数
    
    {
    // TODO: Add your control notification handler code here
    
    CString filter; // 定义string类型
    
    filter = "文本文件(*.txt)|*.txt|C++文件(*.h,*.cpp)|*.h;*.cpp||"; // 注册限制条件
    
    CFileDialog dlg (TRUE, NULL, NULL, OFN_HIDEREADONLY, filter);// 打开文件夹对话框 
    
    if (dlg.DoModal () != IDOK) return;
    
     
    
    CString strFileName = dlg.GetPathName();// 获取路径
    
    CFileStatus status;
    
    if( !CFile::GetStatus( strFileName, status ) )   // 获取文件状态
    
    {
    MessageBox("该文件不存在!"); // 如果没有 则提示框 文件不存在
    
    return;
    
    }
    
     
    
    m_strTitle.Format( "%s [%s,%ld字节]", strFileName,     // 字符串格式化
    
    status.m_ctime.Format( "%Y-%m-%d" ), status.m_size );
    
    UpdateData( FALSE );
    
     
    
    // 打开文件,并读取数据
    
    m_strContent.Empty();
    
    CFile theFile;
    
    if (!theFile.Open(  strFileName, CFile::modeRead ))
    
    {
    MessageBox("该文件无法打开!");
    
    return;
    
    }
    
     
    
    char      szBuffer[80]; 
    
    UINT      nActual = 0; 
    
     // 这里是读取文件
    
    while ( nActual = theFile.Read( szBuffer, sizeof( szBuffer ) ) )
    
    {
    CString str( szBuffer,  nActual );
    
     
    
    m_strContent = m_strContent + str;
    
    }
    
     
    
    theFile.Close();
    
    UpdateData( FALSE );
    
    }
    点赞 评论
  • QA_Assistant
    有问必答小助手 2021-06-07 19:05

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 评论

相关推荐