C++实现所有文件格式复制
4475 点击·0 回帖
![]() | ![]() | |
![]() | #include <iostream> #include <fstream> using namespace std; //加密函数 void jiami(char* p, int n) { for (int i = 0; i < n; i++) { ++*p++;//使文件中的每一个字节加一 } } int main(int argc, char* argv[]) { if(argc != 3) { cout << "正确格式:" << argv[0] << "源文件 新文件" << endl; return 1; } ifstream in(argv[1], ios::binary|ios::in); ofstream out(argv[2], ios::binary|ios::out); if(!in || !out) { cout << "文件打开错误!" << endl; } char buffer[1000];//缓冲区大小 while(in)//判断in是否处于错误状态 { in.read(buffer, sizeof(buffer)); jiami(buffer, sizeof(buffer)); //不能直接用sizeof(buffer)因为可能没有读满,gcount()返回上一次成功读取的字节数 out.write(buffer, in.gcount()); } in.close(); out.close(); return 0; } | |
![]() | ![]() |