使用CreateFile怎样打开一个文件进行追加写操作,如果没有文件就创建,如果有文件就打开追加,参数怎么设置,谢谢!!!!

解决方案 »

  1.   

    HANDLE CreateFile(  
      LPCTSTR lpFileName,  
      DWORD dwDesiredAccess,  
      DWORD dwShareMode,  
      LPSECURITY_ATTRIBUTES lpSecurityAttributes,  
      DWORD dwCreationDisposition,  
      DWORD dwFlagsAndAttributes,  
      HANDLE hTemplateFile  
    ); dwCreationDisposition Long,下述常数之一:   CREATE_NEW 创建文件;如文件存在则会出错   CREATE_ALWAYS 创建文件,会改写前一个文件   OPEN_EXISTING 文件必须已经存在。由设备提出要求   OPEN_ALWAYS 如文件不存在则创建它   TRUNCATE_EXISTING 将现有文件缩短为零长度 
      

  2.   

    char ch[1000] = {"abcdef..."};
    CFile file;
    if (file.Open(_strFilePath,CFile::modeNoTruncate | CFile::modeWrite))
    {
    file.Seek(100,CFile::begin);
    file.Write(,1000);
    file.Close();
    }
    //此方法必须先保证文件已经存在//判断文件是否存在
    CFileStatus status;
    CFile file;
    if (CFile::GetStatus(_strFilePath, status))
    {
    //已经存在
    }
    else
    {
                    //不存在就创建
    if (file.Open(_strFilePath,CFile::modeCreate))
    {
    file.Close();
    }
    }
      

  3.   

    能用fopen不,
    FILE *f;
    f = fopen( filepath, "a+" );这样就是追加