zoukankan      html  css  js  c++  java
  • WinCE文件基本操作

     WinCE下对文件的基本操作

    WinCE对文件操作有两种方式:一种是用WinCE自带的API函数,另一种方法是用MFC类库种的CFile类。
    我们先用第一种的操作:
    1.  文件的打开
    HANDLE CreateFile(
    LPCTSTR lpFileName,
    DWORD dwDesireAccess,
    DWORD dwShareMode,
    LPSECURITY_ATTRIBUTES lpSecurityAttributes,
    DWORD dwCreationDispostion,
    DWORD dwFlagsAndAttributes,
    HANDLE hTemplateFile);
    以上参数比较多,这个在EVC下有帮助,可以查到。可以举个例子:
    HANDLE hFile;
    hFile = CreateFile(_T(“\\My Documents\\MYFILE.TXT”),
    GENERIC_READ,
    FILE_SHARE_READ,
    NULL,
    OPEN_EXISTING,
    FILE_ATTRIBUTE_NORMAL,
    NULL);
    If(hFile == INVALID_HANDLE_VALUE)
    {
           AfxMessageBox(_T(“打开失败”));
           return;
    }
    2.  文件的关闭
    文件使用完之后就应该及时关闭,以释放对它的资源
    BOOL CloseHandle(HANDLE hObject);
    比如说上例中
    CloseHandle(hFile);
    3.  文件的读写
    文件的读
    BOOL ReadFile(
    HANDLE hFile,
    LPVOID lpBuffer,
    DWORD nNumberOfBytesToRead,
    LPDWORD lpNumberOfBytesRead,
    NULL);
    最后一个参数在WINCE下是不支持的,所以一般用NULL.
    文件的写
    BOOL WriteFile(
    HANDLE hFile,
    LPCVOID lpBuffer,
    DWORD nNumberOfBytesWritten,
    NULL);
    最后一个参数在WINCE下是不支持的,所以一般用NULL.


    4.  文件指针的移动
    DWORD SetFilePointer(
    HANDLE hFile,
    LONG lDistanceToMove,
    PLONG lpDistanceToMoveHigh,
    DWORD dwMoveMethod);
    例如:
    SetFilePointer(hFile,0,NULL,FILE_BEGIN);


    5.  获取和设置文件信息
    DWORD GetFileAtrribute(LPSTSTR lpFileName);
    参数表示文件名或者目录名
    DWORD SetFileAttributes(LPCTSTR lpFileName,DWORD dwFileAttributes);
    6.  获取和设置文件时间
    BOOL GetFileTime(
    HANDLE hFile,
    LPFILETIME lpCreationTime,
    LPFILETIME lpLastAccessTime,
    LPFILETIME lpLastWriteTime);
    BOOL SetFileTime(
    HANDLE hFile,
    const FILETIME *lpCreationTime,
    const FILETIME *lpLastAccessTime,
    const FILETIME *lpLastWriteTime);
    7.  获取文件大小
    DWORD GetFileSize(HANDLE hFile, NULL);


    第二种操作:使用MFC
    1.  文件的打开
    CFile( LPCTSTR lpszFileName,  UNIT nOpenFlags);
    或者使用CFile::Open函数
    Virtual BOOL Open( LPCTSTR lpszFileName, UINT nOpenFlags, CFileException* pError =NULL);
    2.  文件的关闭
    直接调用Close()方法就可以了,比如说file.Close();
    3.  文件的读写
    Virtual UNIT Read( void* lpBuf, UNIT nCount);
    其中注意nCount是从文件中读取的最大的数据量,返回的是实际的读取的数据量,可能小于nCount的值。
    Virtual void Write(const void * lpBuf, UNIT nCount);
    4.  文件指针的移动
    Virtual LONG Seek(LONG lOff, UINT nFrom); lOff表示偏移量,nFrom表示计算方式。
    Void SeekToBegin();
    Void SeekToEnd();

  • 相关阅读:
    (初学者)安装hadoop集群注意事项
    配置HADOOP_HOME
    修改用户所在组,修改文件的所有者,明明是自己的文件什么不能解压?
    方法被阻塞,一直要等到线程任务返回结果的例子
    Python复习笔记(一)高级变量类型
    我的vim插件配置
    vim使用笔记
    Linux命令(九)查找文件find
    Linux命令(八)Linux系统信息相关命令
    Linux命令(七)Linux用户管理和修改文件权限
  • 原文地址:https://www.cnblogs.com/googlegis/p/2979217.html
Copyright © 2011-2022 走看看