我写了一个用API函数写的拷贝的程序,主要用到CreateFile、ReadFile、WriteFile这几个函数。但拷贝后的文件时间、属性(主要是存挡的属性,原文件没有而后来的文件有了)与原来不同。该如何做?
请指教!拜托!

解决方案 »

  1.   

    例如:
    CFileStatus status;
    CFile::GetStatus( "srcFile", status );
    CFile::SetStatus( "destFile", status );
      

  2.   

    在拷贝文件后,可以GetFileAttributes得到源文件的属性,然后用SetFileAttributes设置目的文件属性,然后再用SetFileTime设置文件时间即可
      

  3.   

    本来有个函数GetFileAttributesEx也可以得到一个文件属性的结构,并且包含了文件时间(感觉上可以方便许多),可是不知道怎么回事,它却没有提供相应的一个SetFileAttributesEx来设置
      

  4.   

    DWORD m_FileAttributes;
    CFileStatus status;
    m_FileAttributes=GetFileAttributes(lptFilePath);
    if(!SetFileAttributes(lptFilePath,FILE_ATTRIBUTE_NORMAL))
    return FALSE;
    CFileStatus status;
    if(!filed.GetStatus(lptFilePath,status))
    return FALSE;
    可以得到源文件的所以属性在建立新的文件以后
    filed.SetStatus(lptFilePath,status); 
    if (!SetFileAttributes(lptFilePath,m_FileAttributes))
    return FALSE;
    就可以了