`
magicmind
  • 浏览: 74649 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

合并多个文件的C代码

阅读更多

前段时间没事,学了一下Linux环境下的C编程,一直写Java代码,再写C代码感觉还有些不习惯,下面是自己写的一个合并多个文件的例子。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//#include <windows.h>

#define BUF_SIZE = 1024;

int fconcat(FILE* destfile,const char* srcfile) {
	char buffer[8];
	FILE* srcfp;
	int len;
	int charlen;

	if ((srcfp = fopen(srcfile,"rb")) == NULL) {
		perror("open file failed!");
		return 0;
	}
	charlen = sizeof(char);
	printf("char length=%d",charlen);
	while ((len = fread(buffer,1,8,srcfp)) > 0) {
		fwrite(buffer,1,len,destfile);
	}
	printf("last len=%d\n",len);
	fclose(srcfp);
	return 1;
};

int createfile(char* filename,char ch)
{
   int size = 999999;
   int i;
   FILE* srcfp;
   if ((srcfp = fopen(filename,"w+")) == NULL) {
		perror("open file failed!");
		return 0;
	}
   for (i=1;i<size;i++)
   {
      fputc(ch,srcfp);
	  if(i%100 == 0)
	  {
	     fputc('\n',srcfp);
	  }	  
	}
    fclose(srcfp);
    return 1;
}
 
int main(void)
{
	FILE* fp;
	char* srcfile = "/opt/nohup2.log.tmp";
	char* destfile = "/opt/nohup.log";
	int fileSize = 5;
	int sslen;
	int i;
	char pnf[64];
	//DWORD start,finish,usetime;
	int tstart,tfinish,uset;
	char chs[5] = {'a','b','c','d','e'};

	//start = GetTickCount();
	tstart = time(NULL);
	if ((fp=fopen(destfile,"ab+")) == NULL) {
		perror("Open file failed\n");
		exit(1);
	}

	for (i=0;i<fileSize;i++) {
		sprintf(pnf,"%s%d",srcfile,i);
		printf("合并文件%s\n",pnf);
		fconcat(fp,pnf);
		//createfile(pnf,chs[i]);
	}
	fclose(fp);
	//finish = GetTickCount();
	tfinish = time(NULL);
	//usetime = finish - start;
	uset = tfinish - tstart;	
	printf("耗时%d秒",uset);
	return 0;
}

 

这是标准c代码,在windows环境里也可以运行,但是取时间的方法和Linux不同,换成注释里的代码就可以在windows环境中运行了。

0
0
分享到:
评论

相关推荐

    使用python将多个excel文件合并到同一个文件的方法

    应用场景:使用pandas把多个相同结构的Excel文件合并为一个。 原始数据:   相关代码: import os import pandas as pd # 将文件读取出来放一个列表里面 pwd = 'test' # 获取文件目录 # 新建列表,存放文件名 ...

    Visual C++源代码 118 如何显示数据表多个字段合并信息

    Visual C++源代码 118 如何显示数据表多个字段合并信息Visual C++源代码 118 如何显示数据表多个字段合并信息Visual C++源代码 118 如何显示数据表多个字段合并信息Visual C++源代码 118 如何显示数据表多个字段合并...

    Linux环境下C语言Socket编程——客户端向服务端单次发送一个或多个文件的功能

    如果想传输多个文件,不但需要多次交互,还需要把每个文件的文件名都输入进去,很不方便,所以进行了一个小扩展:即客户端可以将打算传送的多个文件都先放到一个文件夹目录下,然后通过代码实现将这一文件目录下的...

    《如何将一个文件分割成多个小文件》配套源代码

    一个小的文件分割器。

    文件合并程序(C语言)

    今日,穷本人目前之C所学作此【文件合并器】(VC下调试成功),主要功能:将一个目录下的ANSI编码和UNICODE编码格式的文件以及其中内容拷贝到一个文件里。功能基本稳定,代码部分仍待优化。忘各位不吝赐教~~

    Python将多个excel文件合并为一个文件

    利用Python,将多个excel文件合并为一个文件 思路 利用python xlrd包读取excle文件,然后将文件内容存入一个列表中,再利用xlsxwriter将内容写入到一个新的excel文件中。 完整代码 # -*- coding: utf-8 -*- #将多...

    Linux将多个C源文件编译进一个KO模块驱动示例

    Linux将多个C源文件编译进一个KO模块驱动示例 博文:https://blog.csdn.net/p1279030826/article/details/108040129

    220个C源代码 初学C语言必备

    002 运行多个源文件 003 求整数之积 004 比较实数大小 005 字符的输出 006 显示变量所占字节数 007 自增/自减运算 008 数列求和 009 乘法口诀表 010 猜数字游戏 011 模拟ATM(自动柜员机)界面 012 用一维...

    通过VBA将多个格式相同的Excel文件合并成一个文件,带文件处理

    通过VBA将多个格式相同的Excel文件合并成一个文件,带文件处理

    220个C语言代码实例大全.rar

    220个C语言代码实例大全,一共有220个C源码,涉及到游戏、算法、字符等多方面的技术,比如:  解救人质游戏只要可以走到下面的小人那里就赢  合并两上有序文件  数列求和、猜数字游戏  图形的广度优先搜寻法...

    matlab集成c代码-app-mergeTCK:将多个TCK文件合并为一个TCK文件

    这个应用程式会撷取多个TCK档案,并将它们合并为一个TCK档案。 merge2TCKs应用程序将合并两个tcks。 mergeTCKs应用程序将合并多个tcks(即,两个以上)。 输出是单个TCK文件,其中包含两个(或多个)输入tck文件中...

    使用 lz77算法压缩和解压缩的C程序_C语言_代码_下载

    如果此窗口内的一个或多个字节与当前位于编码点的序列匹配,则将指针保存到压缩数据。该指针包含从当前编码点到重复数据的偏移量,以及匹配了多少字节。该值随后被描述为指针的“长度”。当指针被记录时,紧接在编码...

    C语言实现生产者消费者问题

    以此实现多个进程对共享资源的互斥访问。 创建3进程(或者线程)作为生产者,4个进程(或者线程)作为消费者。创建一个文件作为数据源,文件中事先写入一些内容作为内容。 编写代码实现生产者进程的工作内容,即从...

    C语言源代码格式化 完工 V1.08 20120801 1627.7z

    猜想:对于“8.3格式文件”的文件名,(也许是出于向后兼容的目的),操作系统总是尝试以“大写”的文件名保存,小写的文件名或者扩展名也用大写表示,然后在“文件登记项”的32B的第13个字节(偏移量为0x0C)标识。...

    资源:使用ASN1C库处理.asn文件生成C代码解码和组码

    这里有我详细介绍使用asn1c命令来将自定义的.asn文件生成.c文件,并对自定义的结构体进行解码和组码。 https://blog.csdn.net/adgentleman/article/details/88577417 资源是所有文件的打包。

    merge-yml:将多个yml文件合并为一个文件

    合并-yml 将多个YML文件合并到一个文件中,并替换找到的任何环境变量(c)版权所有2013 Jonathan Cobb。 可以在Apache许可版本2下获得此代码: : 建造mvn -P uberjar package需要“ maven”构建自动化工具。 使用在...

    LeNet-5神经网络——C源代码

    LeNet-5神经网络 C源代码,这个写的比较好,可以用gcc编译去跑,结合理论可以对深度学习有更深刻的了解 介绍 根据YANN LECUN的论文《Gradient-based Learning Applied To Document Recognition》设计的LeNet-5神经...

    实现文件内容替换的一段C语言源代码

    有C语言简单实现把指定内容替换为其他内容的功能,根据配置的内容可以一次替换多个内容,已在VC++6.0和HP-UNIX上编译通过,并测试通过,在RELEASE文件里面有例子

Global site tag (gtag.js) - Google Analytics