`
magicmind
  • 浏览: 75213 次
  • 性别: 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
分享到:
评论

相关推荐

    qt调用c语言代码(c语言的代码写在c文件中)

    3. **编译C代码为动态库或静态库**:在完成C语言代码编写后,使用C编译器(如GCC)将其编译为动态库(.so on Linux, .dll on Windows)或静态库(.a on Linux, .lib on Windows)。确保在编译时开启C语言兼容标志,...

    如何将多个C语言模块组合成一个程序

    随着项目规模的扩大,将源代码分割到多个文件中进行管理成为必要,这样做可以提高代码的可读性、可维护性和重用性。下面,我们将详细探讨如何将多个C语言模块组合成一个程序。 ### 基本概念 在C语言中,函数是构成...

    经典 C语言源代码大全

    C语言,作为一种基础且强大的系统级编程语言,被广泛应用于操作系统开发、嵌入式系统、游戏引擎、软件工具等多个领域。通过这份源代码大全,我们可以学习到以下几个重要的C语言知识点: 1. **基本语法**:包括变量...

    C语言代码自动整理工具

    例如,它可以将连续的多个空格替换为一个,或者将大括号对齐,使得代码看起来更加整洁。 2. **代码美化**:除了基本的格式化,这类工具还可能提供代码高亮、注释处理等功能,让代码在编辑器中显示得更加清晰美观。...

    使用GPU对C语言代码进行加速_c语言代码大全和详细解释

    标题中的“使用GPU对C语言代码进行加速_c语言代码大全和详细解释”表明了本文将探讨如何利用GPU的并行计算能力来优化C语言编写的程序,特别是针对特定任务,如规则匹配。GPU(图形处理器)通常用于处理图形密集型...

    WAV转换为C代码的小工具

    标题中的“WAV转换为C代码的小工具”指的是一个实用程序,它能够将WAV音频文件转换成C语言源代码。这种工具对于嵌入式系统开发者尤其有用,因为它们经常需要在有限的内存和处理能力下播放音频。WAV是一种常见的无损...

    vscode 使用C语言自定义代码片段

    在提供的压缩包中,有两个文件,c.json和h.json,分别用于存储C源文件(.c)和头文件(.h)的代码片段。打开这些文件,你会看到JSON对象结构,包含多个代码片段的定义。 一个代码片段定义通常包含以下几个部分: 1...

    TDOA定位算法C语言代码.rar

    在"压缩包子文件的文件名称列表"中,"TDOA定位算法C语言代码"可能包含实现上述功能的源代码文件,包括头文件、主程序文件以及可能的辅助函数和数据结构定义。通过阅读和分析这些代码,我们可以深入理解TDOA定位算法...

    C语言代码大全.doc

    《C语言代码大全》文档包含了多个使用C语言编程的基础示例,主要涵盖了数组的应用和一些基本的用户交互设计。以下是对这些示例的详细解析: 首先,乘法口诀表的实现展示了如何使用一维数组来打印9x9的乘法表。程序...

    多个c语言源代码精华集

    "多个C语言源代码精华集"是对于C语言学习者极其宝贵的资源,它包含了多种C语言的源代码示例,可以帮助初学者深入理解和实践C语言的编程概念。 首先,让我们来探讨一下什么是源代码。源代码是程序员用编程语言编写的...

    qt调用c语言代码(c语言的代码写在c++中)

    本文将详细探讨如何在Qt项目中调用C语言代码,并将其嵌入到C++中。 首先,理解C++与C语言的兼容性是关键。C++是C语言的一个超集,这意味着任何有效的C语言程序也是合法的C++程序。因此,可以直接在C++环境中编写和...

    c语言代码 c语言代码

    至于压缩包中的“c语言代码”子文件,可能是包含了实际的C源代码文件,这些文件可能涵盖了上述的各种概念和技术。通过阅读和分析这些代码,可以进一步提升C语言编程技能,了解如何将理论知识应用于实践。同时,也...

    EXE文件反编译成C源代码的工具

    总的来说,EXE文件反编译成C源代码的工具是IT领域中的一个重要工具,它涉及逆向工程、软件调试和安全分析等多个方面。掌握如何使用这样的工具,可以帮助开发者提升技能,解决特定问题,同时也需要遵循相应的法规和...

    iic,c语言代码

    在这个项目中,"iic,c语言代码"指的是使用C语言编写的IIC通信协议实现,适用于STM32F103系列微控制器。以下将详细介绍IIC协议、C语言在嵌入式开发中的应用以及如何在STM32平台上实现IIC。 1. IIC协议:IIC协议由...

    max197c语言源代码

    **文件名称列表:** 只有一个文件 "max197.c",这是C语言的源代码文件。通常,这个文件会包含所有与MAX197芯片交互所需的函数定义、数据结构和可能的全局变量。开发者可以通过编译和链接这个文件来生成可执行程序,...

    清华大学程序课程C语言代码

    结构体允许我们将多个不同类型的变量组合成一个单一的数据结构,C_hw06.cpp可能包含了结构体的使用示例。枚举则提供了一种为整型常量命名的方式,增强了代码的可读性。理解这两者,有助于编写更复杂的数据结构和...

    178个经典C语言源代码

    C语言是一种强大的、低级的编程语言,广泛应用于系统编程、嵌入式开发、游戏引擎、软件开发等多个领域。学习C语言不仅可以帮助你理解计算机底层工作原理,还能为学习其他高级语言打下坚实基础。 1. **基本语法**:...

    500多个C语言源代码,包含高级应用,窗口编程,鼠标编程,键盘编程等

    C语言是一种强大的、通用的编程语言,被广泛用于系统编程、软件开发、设备驱动和嵌入式系统。这个压缩包包含超过500个C语言源...无论是对C语言的基础掌握还是对特定领域的深入探究,这些源代码都将提供宝贵的实践经验。

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

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

    C语言代码编译器(绝对经典)

    "C语言代码编译器(绝对经典)" 提供了一种高效、可靠的途径来编译C语言源代码,使得开发者可以将他们的程序转化为可执行文件。这个编译器不仅限于C语言,还能处理多种程序语言代码,这意味着它可能包含一个集成开发...

Global site tag (gtag.js) - Google Analytics