目录
例如将a. c中的内容拷贝到b. c中拷贝完毕后可以用diff指令判断两个文件是否相同: diff a.c b.c
diff指令:如果两个文件相同则不会出现现象
实现思路:
利用标准IO函数fgetc函数从目标文件(fget.c)循环得到一个一个字符在由fputc函数接收输出到(text.c)中,代码如下
实现代码:
#include <stdio.h>
int main(int argc, const char *argv[])
{
//打开一个文件
FILE *fp=fopen("fget.c","r");
if(NULL==fp)
{
perror("fopen");
return -1;
}
//打开一个文件
FILE *fp1=fopen("text.c","w");
if(NULL==fp1)
{
perror("fopen");
return -1;
}
char c=0; //接收fgetc函数返回值
int num=0; //记录字符个数
int hang=0; //记录行数
while(1)
{
c=fgetc(fp);
if(10==c)
hang++;
if(EOF==c)
break;
fputc(c,fp1);
num++;
printf("%c",c);
}
printf("文件共有%d个字节,%d行\n",num,hang);
//关闭文件
fclose(fp);
return 0;
}
结果如下
ubuntu@ubuntu:IO$ ls
a.out fget.c fopen1.c fopen.c fprintf.c text.c
ubuntu@ubuntu:IO$ ls -l
总用量 32
-rwxrwxr-x 1 ubuntu ubuntu 8560 十二 2 20:07 a.out
-rw-rw-r-- 1 ubuntu ubuntu 524 十二 2 20:07 fget.c
-rw-rw-r-- 1 ubuntu ubuntu 311 十二 2 13:30 fopen1.c
-rw-rw-r-- 1 ubuntu ubuntu 903 十二 2 13:26 fopen.c
-rw-rw-r-- 1 ubuntu ubuntu 1026 十二 2 16:19 fprintf.c
-rw-rw-r-- 1 ubuntu ubuntu 524 十二 2 20:07 text.c
ubuntu@ubuntu:IO$ diff fget.c text.c
ubuntu@ubuntu:IO$