#include <stdio.h>
#include <stdlib.h>
void operate(FILE *read,FILE *write)
{
//准备空间用于保存读取的数据
char buffer[1024] = {0};
//设置结束条件
if(!fgets(buffer,1024,read))
return;
//调用自己
operate(read,write);
//写入文件
fputs(buffer,write);
}
//main函数
int main()
{
//打开文件
FILE *read = fopen("G:\\read.txt","r");
if(read == NULL)
perror("文件打开失败1:"),exit(-1);
FILE *write = fopen("G:\\write.txt","w");
if(write == NULL)
{
fclose(read);
perror("文件打开失败2:"),exit(-1);
}
//文件打开成功后,执行文件翻转操作
operate(read,write);
//关闭文件
fclose(read);
fclose(write);
}
//同样的方法字符串翻转输出:
#include <stdio.h>
void operate(char *str)
{
//指定结束标记
if(*str == '\0')
return;
//调用自己
operate(str+1);
//输出
putchar(*str);
}
//main函数
int main()
{
operate("Hello World!");
return 0;
}