题目
编写一个mycopy程序,实现文件复制的功能。用法是在控制台输入:
mycooy 源文件名 目标文件名
参数介绍
m
a
i
n
main
main 函数的参数有两个,一个int
类型参数和一个指针数组
。
a
r
g
c
argc
argc 表示参数的个数。参数为void
时
a
r
g
c
=
1
argc=1
argc=1,仅有默认参数可执行文件名。
a
r
g
v
argv
argv 指针数组,分别为每个字符串首地址,其中argv[0]
指向默认参数(可执行文件名)
操作步骤
- 打开控制台,输入三个参数,第一个是代码生成的可执行文件名,第二个是源文件名,第三个是目标文件名。
- 按回车执行。
- 发现Untitled2文件内容已经与Untitled3文件相同。
C o d e Code Code
#include <bits/stdc++.h>
using namespace std;
int main(int argc, char* argv[]) {
if (argc != 3) {
cout << "你输入的文件名不足\n";
return 0;
}
ifstream iFile(argv[1], ios::binary|ios::in);
if (!iFile) {
cout << "源文件打开失败(文件不存在)\n";
return 0;
}
ofstream oFile(argv[2], ios::binary|ios::out);
if (!oFile) {
cout << "目标文件打开/新建失败\n";
iFile.close();
return 0;
}
char c;
while (iFile.get(c)) {
oFile.put(c);
}
oFile.close();
iFile.close();
system("pause");
return 0;
}