首页 » 99链接平台 » 一起用C语言来写一个常用的函数(函数缓冲区读取复制内容)

一起用C语言来写一个常用的函数(函数缓冲区读取复制内容)

神尊大人 2024-10-30 21:28:06 0

扫一扫用手机浏览

文章目录 [+]

复制是我们常用的功能,很多人一套ctrl+c ctrl+v已经用的如火纯青,出神入化。

我们编程也同样需要常用文件复制功能。

但是!

一起用C语言来写一个常用的函数(函数缓冲区读取复制内容) 99链接平台
(图片来自网络侵删)

它不是自带的,需要我们自己写,但也好在十分简单,所以大家不要担心,跟着我写起来。

首先我们来屡屡思路, 需要实现文件复制我们需要开辟一个缓冲区,不断从原文件中读取内容到缓冲区,每读取完一次就将缓冲区中的内容写入到新建的文件,直到把原文件的内容读取完。

那么这里大家需要注意一点,一个重点,缓冲器要开辟多大? 嗯哼?

大了中复制较少的内容时,会浪费很多,也没法明显提高读取速度。

小了会增加读取次数。

那么有没有一个中间数,这个是有的。
那么就是4k。
关于为什么是4k 这个涉及到内存就不多解释了。

现在我们有了思路,下面开始写函数。

int copyFile(char fileRead, char fileWrite){ FILE fpRead; // 指向要复制的文件 FILE fpWrite; // 指向复制后的文件 int bufferLen = 10244; // 缓冲区长度 char buffer = (char)malloc(bufferLen); // 开辟缓存 int readCount; // 实际读取的字节数 if( (fpRead=fopen(fileRead, \"rb\")) == NULL || (fpWrite=fopen(fileWrite, \"wb\")) == NULL ){ printf(\"Cannot open file, press any key to exit!\n\"); getch(); exit(1); } // 不断从fileRead读取内容,放在缓冲区,再将缓冲区的内容写入fileWrite while( (readCount=fread(buffer, 1, bufferLen, fpRead)) > 0 ){ fwrite(buffer, readCount, 1, fpWrite); }

ok到这里函数写完了 文章也没有了,还想看就翻我的旧文吧。
觉得我文章还可以的可以关注,收藏,转发,评论。
谢谢大家!

相关文章