文档章节

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

努力喵
 努力喵
发布于 2015/10/20 22:48
字数 196
阅读 5
收藏 0
点赞 0
评论 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
如何使用 Git 管理二进制大对象

似乎大家都认可的事就是 Git 对于大的二进制对象文件支持得不好。要记住,二进制大对象与大文本文件是不同的。虽然 Git 对大型的文本文件版本控制毫无问题,但是对于不透明的二进制文件起不了...

linux小陶
2016/12/12
29
0
进程间通信 IPC interprocess communication

1,管道,FIFO 2, 信号 3,消息队列 4,共享类存 5.文件映射 6.socket (1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。  ...

企图穿越
2010/05/02
0
0
c语言基础学习10_文件操作01

============================================================================= ============================================================================= 涉及到的知识点有: 一......

黑泽明军
01/25
0
0
进程间通信 IPC interprocess communication

1,管道,FIFO 2, 信号 3,消息队列 4,共享类存 5.文件映射 6.socket (1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。  ...

AlphaJay
2010/06/06
0
0
Jmeter简单应用4

一、简单函数。 1. “_csvRead”函数 csvRead函数是从外部读取参数,csvRead函数可以从一个文件中读取多个参数。 下面具体讲一下如何使用csvread函数: a. 新建一个csv或者text文件,里面保存...

Dreamsnow6
2016/10/17
17
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

SpringBoot | 第十章:Swagger2的集成和使用

前言 前一章节介绍了mybatisPlus的集成和简单使用,本章节开始接着上一章节的用户表,进行Swagger2的集成。现在都奉行前后端分离开发和微服务大行其道,分微服务及前后端分离后,前后端开发的...

oKong
今天
5
0
Python 最小二乘法 拟合 二次曲线

Python 二次拟合 随机生成数据,并且加上噪声干扰 构造需要拟合的函数形式,使用最小二乘法进行拟合 输出拟合后的参数 将拟合后的函数与原始数据绘图后进行对比 import numpy as npimport...

阿豪boy
今天
1
0
云拿 无人便利店

附近(上海市-航南路)开了家无人便利店.特意进去体验了一下.下面把自己看到的跟大家分享下. 经得现场工作人员同意后拍了几张照片.从外面看是这样.店门口的指导里强调:不要一次扫码多个人进入....

周翔
昨天
1
0
Java设计模式学习之工厂模式

在Java(或者叫做面向对象语言)的世界中,工厂模式被广泛应用于项目中,也许你并没有听说过,不过也许你已经在使用了。 简单来说,工厂模式的出现源于增加程序序的可扩展性,降低耦合度。之...

路小磊
昨天
165
1
npm profile 新功能介绍

转载地址 npm profile 新功能介绍 npm新版本新推来一个功能,npm profile,这个可以更改自己简介信息的命令,以后可以不用去登录网站来修改自己的简介了 具体的这个功能的支持大概是在6这个版...

durban
昨天
1
0
Serial2Ethernet Bi-redirection

Serial Tool Serial Tool is a utility for developing serial communications, custom protocols or device testing. You can set up bytes to send accordingly to your protocol and save......

zungyiu
昨天
1
0
python里求解物理学上的双弹簧质能系统

物理的模型如下: 在这个系统里有两个物体,它们的质量分别是m1和m2,被两个弹簧连接在一起,伸缩系统为k1和k2,左端固定。假定没有外力时,两个弹簧的长度为L1和L2。 由于两物体有重力,那么...

wangxuwei
昨天
0
0
apolloxlua 介绍

##项目介绍 apolloxlua 目前支持javascript到lua的翻译。可以在openresty和luajit里使用。这个工具分为两种模式, 一种是web模式,可以通过网页使用。另外一种是tool模式, 通常作为大规模翻...

钟元OSS
昨天
2
0
Mybatis入门

简介: 定义:Mybatis是一个支持普通SQL查询、存储过程和高级映射的持久层框架。 途径:MyBatis通过XML文件或者注解的形式配置映射,实现数据库查询。 特性:动态SQL语句。 文件结构:Mybat...

霍淇滨
昨天
2
0
开发技术瓶颈期,如何突破

前言 读书、学习的那些事情,以前我也陆续叨叨了不少,但总觉得 “学习方法” 就是一个永远在路上的话题。个人的能力、经验积累与习惯方法不尽相同,而且一篇文章甚至一本书都很难将学习方法...

_小迷糊
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部