c++文件的复制,删除,重命名_C/C++_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > C/C++ > c++文件的复制,删除,重命名

c++文件的复制,删除,重命名

 2013/12/22 21:09:54  再_见孙悟空  程序员俱乐部  我要评论(0)
  • 摘要:1.文件的复制#include<iostream>#include<fstream>#include<io.h>#include<windows.h>usingnamespacestd;/**复制文件filename:要复制的文件名newfile:要复制到的文件名*/intcpy(char*filename,char*newfile){ifstreamin;ofstreamout;/**open函数的原型是open
  • 标签:文件 c++ 复制

1.文件的复制

class="cpp" name="code">#include<iostream>
#include<fstream>
#include<io.h>
#include<windows.h>
using namespace std ;

/**复制文件
filename :要复制的文件名
newfile :要复制到的文件名
*/
int cpy(char*filename,char*newfile)
{
   ifstream in ;
   ofstream out ;
   /**
   open函数的原型是
   open(const char*filename,ios_base::openmode mode=ios_base::in) ;
   in_stream.open("file.txt");这样写参数实际上是指向这个常量字符串的指针
   */
   //打开文件
   in.open(filename);
   //打开文件失败
  if(in.fail()){
    cout<<"打开文件失败"<<endl ;
     in.close();
     out.close();
     return 0 ;
   }
  out.open(newfile);
  if(out.fail()){
    cout<<"创建文件失败"<<endl ;
     in.close();
     out.close();
     return 0 ;
  }else{//复制文件
   out<<in.rdbuf();
   out.close();
   in.close();
   return 1 ;
  }
}

?2.文件的删除

??

/**删除文件
_access(char *,int) 判断文件是否存在
存在返回0,不存在返回-1
_access(const char *path,int mode)
mode的值:
00 是否存在
02 写权限
04 读权限
06 读写权限
*/
void deletee(char * filename)
{
if(!_access(filename,0))//如果文件还存在:文件只读,无法删除
{
    //去掉文件只读属性
    SetFileAttributes(filename,0) ;
    if(DeleteFile(filename))
    {
        cout<<"删除成功"<<endl ;
    }else{//无法删除,权限不够
     cout<<" 无法删除:文件为只读属性或无删除权限."<<endl;
    }

}else{//文件不存在
    cout<<"文件不存在"<<endl ;
}
cin.get();
}

?

3.文件的重命名

?

/**
重命名
*/
void Rename(char*filename,char*newname)
{
    if(!_access(filename,0)){ //如果文件存在

           if(!rename(filename,newname))//删除成功
             {
                 cout<<filename<<"文件成功重命名为"<<newname<<endl ;
             }
            else//无法重命名:文件打不开或权限不够
            {
             cout<<"文件无法重命名(可能原因如下):"<<endl;
             cout<<"\t"<<"1. "<<newname<<" 已存在"<<endl
             <<"\t"<<"2. "<<newname<<" 正在使用,未关闭."<<endl
             <<"\t"<<"3. "<<"你没有权限重命名此文件."<<endl;
            }
        }else{//文件不存在

       cout<<filename<<"不存在该文件。"<<endl ;

        }
        cin.get();
    }

?

上一篇: 谷歌因违反西班牙个人数据保护法被罚90万欧元 下一篇: 没有下一篇了!
发表评论
用户名: 匿名