vc中文件操作的方法

来源:百度文库 编辑:神马文学网 时间:2024/06/06 22:22:32
vc中文件操作的方法 写一个代码出现了问题,fread一个wav文件到一定长度时总是不成功,后来把fopen(m_str_sourcepath,"rt")变成fopen(m_str_sourcepath,"rb")就好了。
下面是一些文件操作的文章,感谢这些同志…^_^
转发:名字忘了,呵呵
取得文件名
{
      CString FilePathName;
CFileDialog dlg(TRUE);///TRUE为OPEN对话框 ,FALSE为 保存 对话框
      if(dlg.DoModal()==IDOK)
      FilePathName=dlg.GetPathName();
}
   相关信息:CFileDialog 用于取文件名的几个成员函数:
假如选择的文件是C:\WINDOWS\TEST.EXE
则:
   (1)GetPathName();取文件名全称,包括完整路径。取回C:\WINDOWS\TEST.EXE
   (2)GetFileTitle();取回TEST
   (3)GetFileName();取文件全名:TEST.EXE
   (4)GetFileExt();取扩展名EXE
 
打开文件
CFile file("C:\HELLO.TXT",CFile::modeRead);///只读方式打开
///CFile::modeRead可改为 CFile::modeWrite(只写),CFile::modeReadWrite(读写),CFile::modeCreate(新建)
例子:
{
    CFile file;
    file.Open("C:\HELLO.TXT",CFile::modeCreate|Cfile::modeWrite);
    ...
    ...
}
 移动文件指针
    file.Seek(100,CFile::begin);///从文件头开始往下移动100字节
    file.Seek(-50,CFile::end);///从文件末尾往上移动50字节
    file.Seek(-30,CFile::current);///从当前位置往上移动30字节
    file.SeekToBegin();///移到文件头
    file.SeekToEnd();///移到文件尾

对于CFileDialog 使用可参照下面
:通用对话框的使用
    大家都遇到过CFileDialog文件对话框吧,它的参数让人头疼.下面解除大家的头疼.
    先在使用文件对话框的类的类定义文件中加入对象定义CFileDialog m_MyOpenDialog(TRUE,"avi","*.avi")。随后,在需要使用该对话框的地方加入以下语句:
    m_MyOpenDialog.Domodal();
    就可以预览所有.avi文件.

    其调用规则为:
    函数原型:
    CFileDialog(BOOL bOpenFileDialog,LPCTSTR lpszDefExt=NULL,LPCTSTR lpszFileName=NULL,DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPR OMPT,LPCTSTR lpszFilter=NULL,CWnd * pParentWnd
=NULL);
    参数说明:
    bOpenFileDialog:为TRUE或FALSE。TRUE为打开文件;FALSE为保存文件。
    lpszDefExt     :为缺省的扩展名。
    lpszFileName   :为显示在文件名组合框的编辑框的文件名,一般可选NULL
    dwFlags        :为对话框风格,一般为OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,即隐藏只读选项和覆盖已有文件前提示。
    LpszFilter     :为下拉列表枢中显示文件类型。
    pParentWnd     :一般可选NULL。
例如:在文件类型列表框的编辑框要显示“可执行文件(*.exe)”,而在它的下拉列表框中列出“视频文件(*.avi)、All Files(*.*)”内容,则变量定义如下:CFileDialog m_MyOpenDialog(TRUE,"exe",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"可执行文件(*.exe) | *.exe|视频文件(*.bat) | *.bat |All Files (*.*) | *.* ||",NULL);
    注:看看没有*.*后的||会是什么效果.


关于:fseek
fseek()函数有三个参数


第一个是文件的指针


第二个是偏移量  也就是指针移动的字符数  

   //这个参数必须是L类型

   //如果是负数  表示指针反向移动(向文件头的方向)


第三个是偏移量的相对开始位置

0  表示从文件开始处  偏移 L

1  表示从当前位置    偏移 L

2  表示从文件末尾    偏移 L  //只能是负数了  也就是只能前向移动