文档章节

用于拷贝文件(文本文件或其他类型的大型文件)的函数

努力喵
 努力喵
发布于 2015/10/20 22:48
字数 196
阅读 5
收藏 0
// filecopier.c -- 拷贝文件
#include <stdio.h>

int file_copy(char *oldname, char *newname);

int main(void){
  char source[80], destination[80];
  
  //获取源文件和目标文件文件名
  puts("\nEnter source file: ");
  gets(source);
  puts("\nEnter destination file: ");
  gets(destination);
  
  if(file_copy(source, destination) == 0)
    puts("Copy operation successful");
  else
    fprintf(stderr, "Error during copy operation");
  return 0;
} 

int file_copy(char *oldname, char *newname){
  FILE *fold, *fnew;
  int c;
  
  // 以二进制只读模式打开源文件
  if((fold = fopen(oldname, "rb")) == NULL)
    return -1;
  
  // 以二进制写入模式打开目标文件
  if((fnew = fopen(newname, "wb")) == NULL){
    fclose(fold);
    return -1;
  }
  
  /* 读取源文件内容,一次读取1字节,
   * 如果未达到文件末尾,
   * 将读取内容写入目标文件。 */
  
  while(1){
    c = fgetc(fold);
    
    if(!feof(fold))
      fputc(c, fnew);
    else
      break;
  }
  fclose(fnew);
  fclose(fold);
  
  return 0;
}


© 著作权归作者所有

共有 人打赏支持
努力喵
粉丝 5
博文 105
码字总数 34117
作品 0
广州
处理PDF文档

用于处理PDF的模块是PyPDF2(区分大小写),使用pip安装。 c:pythonScripts>pip3.6 install PyPDF2Collecting PyPDF2 Downloading PyPDF2-1.26.0.tar.gz (77kB) 100% |███████████......

Grodd
2017/12/15
0
0
流(stream)是怎么一回事

—— 对这个问题的思考来源于前几天对 Java Socket 编程的尝试,TCP 协议要求建立一个 Socket 连接(著名的三次握手)之后才能进行通信,而连接双方进行数据的发送与接受,都是通过对输入输出...

米小安
2017/11/29
0
0
c++教程(二十五:Input/output with files)

C++提供了以下到/从文件的类执行输出和输入字符: ofstream:写文件的类; ifstream:读取文件类 fstream:读/写文件的类。 这些类都是直接或间接来自类istream和ostream。我们已经使用的对象...

on2way
2017/02/13
0
0
I/O: std::basic_ostream

需要#include<ostream>: template class std::basic_ostream提供高水平的字符输出操作,支持格式化的和非格式化的输出操作. 我们一般看到的: std::ostream其实是 typedef std::basic_ostream...

SHIHUAMarryMe
2016/09/12
21
0
PHP-GD库函数功能分类记录

图像信息: gd_info  取得当前安装的 GD 库的信息 imagetypes 返回当前 PHP 版本所支持的图像类型 imagetypeto_extension 取得图像类型的文件后缀 imagetypetomimetype 取得 图像类型的 MI...

菜到没谱
2013/07/17
327
2

没有更多内容

加载失败,请刷新页面

加载更多

js实现产生n个随机数,并且随机数之和是固定值

function getrandom(minnum , maxnum ,total,size){ var num = total; //定义整数 var length= size; //定义多个整数的数量 var numArr = []; while(length > 1){ var rnd = Math.floor(Mat......

开源昕昕
16分钟前
1
0
精选Spring Boot三十五道必知必会知识点!

Spring Boot 是微服务中最好的 Java 框架. 我们建议你能够成为一名 Spring Boot 的专家。本文精选了三十五个常见的Spring Boot知识点,祝你一臂之力! 问题一 Spring Boot、Spring MVC 和 Sp...

Java填坑之路
18分钟前
2
0
MyBatis学习笔记

相关文档 mybatis深入理解(一)之 # 与 $ 区别以及 sql 预编译 MyBatis 处理sql中的 大于,小于,大于等于,小于等于

OSC_fly
18分钟前
0
0
Gradle从不同地方复制文件到一个文件夹/打zip包

复制 task copySDK(type: Copy, dependsOn: [":fatJarTask"]) { delete JAR_NAME delete SDK_OUT_PATH delete "$ROOT_BUILD_PATH/$SDK_ZIP_NAME" into('/jniLibs') {......

SuShine
19分钟前
1
0
CentOS关闭占用端口,修改Apache默认端口,并重启Apache

查找并关闭进程 在Linux系统中可以使用lsof命令和kill命令,两个命令配合查找并关闭占用端口的进程 查看某一端口使用情况的命令: lsof -i:端口号 效果如下,PID即进程的ID 根据PID关闭进程,...

临江仙卜算子
25分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部