目录
1、main函数参数
2.cp指令的使用
3、实现cp指令
3.1实现cp指令-入门版
3.2实现cp指令-进阶版
int main(int argc,char *argv[])
{return 0;
}
C语言规定了main函数的参数只能由2个,一个是argc,一个是argv,并且argc只能是整数,第二个必须是指向字符串的指针数组。
由于main函数不能被其他函数调用,因此不可能在程序内部取得实际值。那么,在何处把参数值赋予main函数的形参呢?实际上,main函数的参数值从操作系统命令行上获得的。当我们要运行一个可执行文件时,在DOS提示符下键入文件名,再输入实际参数即可把这些实参传送到main的形参中去,DOS提示符下命令行的一般形式为:
C:>可执行文件名 参数 参数......;但是应该特别注意的是,main的两个形参和命令行中的参数在位置上不是一一对应的。
src 源文件 des 目标文件
执行流程:
src 源文件 des 目标文件
执行流程:
代码:
#include
#include
#include
#include
//int open(const char *pathname, int flags);
//int open(const char *pathname, int flags, mode_t mode);
#include
//int close(int fd);
#include
//int close(int fd);
#include int main(int argc,char *argv[])
{int src_fd;int des_fd;char readBuff[1024] = {0};int nRet = 0;if(argc != 3){printf("error\n");return -1;}src_fd = open(argv[1],O_RDWR);if(src_fd < 0){printf("open file %d failed!\n",src_fd);}des_fd = open(argv[2],O_RDWR | O_CREAT,0755);if(des_fd < 0){printf("open file %d failed!\n",des_fd);}while(1){nRet = read(src_fd,&readBuff[0],128);if(nRet <128){break;}write(des_fd,readBuff,nRet);memset(readBuff,0,128);}write(des_fd,readBuff,nRet);close(src_fd);close(des_fd);return 0;
}