weixin_59005826 2021-06-06 09:29 采纳率: 66.7%
浏览 25
已采纳

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

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条回答 默认 最新

  • 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 );
    
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 有问必答小助手 2021-06-07 19:05
    关注

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

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

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

    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 有人会思科模拟器嘛?
  • ¥30 遇到一个的问题,请教各位
  • ¥20 matlab报错,vflux计算潜流通量
  • ¥15 我该如何实现鼠标按下GUI按钮时就执行按钮里面的操作的方法
  • ¥15 关于#硬件工程#的问题:我这边有个锁相环电路没有效果
  • ¥15 20款 27寸imac苹果一体机装win10后,蓝牙耳机和音响放歌曲卡顿断断续续.
  • ¥15 VB.NET 父窗体调取子窗体报错
  • ¥15 python海龟作图如何改代码使其最后画出来的是一个镜像翻转的图形
  • ¥15 我不明白为什么c#微软的官方api浏览器为什么不支持函数说明的检索,有支持检索函数说明的工具吗?
  • ¥15 在我想检测ros是否成功安装时输入roscore出现以下