前言:本篇博客是利用main函数的参数实现一个拷贝文件的命令,要求熟悉使用各个IO函数。
【参考代码】:
#include<stdio.h>
#include<stdlib.h>
#pragma warning(disable:4996)
int main(int argc,char *argv[],char *envp[])
{
int ch = 0;
FILE *pfread = NULL;
FILE *pfwrite = NULL;
if (argc != 3)
{
printf("参数有误,参数例如(test.exe,test.txt,test.txt.bak)\n");
exit(EXIT_FAILURE);
}
pfread = fopen(argv[1], "r");
if (pfread == NULL)
{
perror("use file to read");
exit(EXIT_FAILURE);
}
pfwrite = fopen(argv[2], "w");
if (pfwrite == NULL)
{
perror("use file to write");
fclose(pfread);
exit(EXIT_FAILURE);
}
//拷贝
while ((ch = fgetc(pfread)) != EOF)
{
fputc(ch, pfwrite);
}
fclose(pfread);
pfread = NULL;
fclose(pfwrite);
pfwrite = NULL;
return 0;
}