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 );
    
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)