前段时间没事,学了一下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环境中运行了。
分享到:
相关推荐
3. **编译C代码为动态库或静态库**:在完成C语言代码编写后,使用C编译器(如GCC)将其编译为动态库(.so on Linux, .dll on Windows)或静态库(.a on Linux, .lib on Windows)。确保在编译时开启C语言兼容标志,...
随着项目规模的扩大,将源代码分割到多个文件中进行管理成为必要,这样做可以提高代码的可读性、可维护性和重用性。下面,我们将详细探讨如何将多个C语言模块组合成一个程序。 ### 基本概念 在C语言中,函数是构成...
C语言,作为一种基础且强大的系统级编程语言,被广泛应用于操作系统开发、嵌入式系统、游戏引擎、软件工具等多个领域。通过这份源代码大全,我们可以学习到以下几个重要的C语言知识点: 1. **基本语法**:包括变量...
例如,它可以将连续的多个空格替换为一个,或者将大括号对齐,使得代码看起来更加整洁。 2. **代码美化**:除了基本的格式化,这类工具还可能提供代码高亮、注释处理等功能,让代码在编辑器中显示得更加清晰美观。...
标题中的“使用GPU对C语言代码进行加速_c语言代码大全和详细解释”表明了本文将探讨如何利用GPU的并行计算能力来优化C语言编写的程序,特别是针对特定任务,如规则匹配。GPU(图形处理器)通常用于处理图形密集型...
标题中的“WAV转换为C代码的小工具”指的是一个实用程序,它能够将WAV音频文件转换成C语言源代码。这种工具对于嵌入式系统开发者尤其有用,因为它们经常需要在有限的内存和处理能力下播放音频。WAV是一种常见的无损...
在提供的压缩包中,有两个文件,c.json和h.json,分别用于存储C源文件(.c)和头文件(.h)的代码片段。打开这些文件,你会看到JSON对象结构,包含多个代码片段的定义。 一个代码片段定义通常包含以下几个部分: 1...
在"压缩包子文件的文件名称列表"中,"TDOA定位算法C语言代码"可能包含实现上述功能的源代码文件,包括头文件、主程序文件以及可能的辅助函数和数据结构定义。通过阅读和分析这些代码,我们可以深入理解TDOA定位算法...
《C语言代码大全》文档包含了多个使用C语言编程的基础示例,主要涵盖了数组的应用和一些基本的用户交互设计。以下是对这些示例的详细解析: 首先,乘法口诀表的实现展示了如何使用一维数组来打印9x9的乘法表。程序...
"多个C语言源代码精华集"是对于C语言学习者极其宝贵的资源,它包含了多种C语言的源代码示例,可以帮助初学者深入理解和实践C语言的编程概念。 首先,让我们来探讨一下什么是源代码。源代码是程序员用编程语言编写的...
本文将详细探讨如何在Qt项目中调用C语言代码,并将其嵌入到C++中。 首先,理解C++与C语言的兼容性是关键。C++是C语言的一个超集,这意味着任何有效的C语言程序也是合法的C++程序。因此,可以直接在C++环境中编写和...
至于压缩包中的“c语言代码”子文件,可能是包含了实际的C源代码文件,这些文件可能涵盖了上述的各种概念和技术。通过阅读和分析这些代码,可以进一步提升C语言编程技能,了解如何将理论知识应用于实践。同时,也...
总的来说,EXE文件反编译成C源代码的工具是IT领域中的一个重要工具,它涉及逆向工程、软件调试和安全分析等多个方面。掌握如何使用这样的工具,可以帮助开发者提升技能,解决特定问题,同时也需要遵循相应的法规和...
在提供的PDF文档《用C语言读写SGY格式的地震数据文件-苏》中,应该详细介绍了以上步骤,并可能提供了具体的代码示例。通过阅读和理解这份文档,你可以获得更深入的指导,学习如何实际操作C语言来处理SGY文件。这是一...
在这个项目中,"iic,c语言代码"指的是使用C语言编写的IIC通信协议实现,适用于STM32F103系列微控制器。以下将详细介绍IIC协议、C语言在嵌入式开发中的应用以及如何在STM32平台上实现IIC。 1. IIC协议:IIC协议由...
标题中的"C语言代码高亮html输出工具 090720更新"指的是一个使用C++编程语言开发的工具,其主要功能是将C语言源代码文件进行语法高亮处理,并将其转换为HTML格式,以便在网页上清晰、美观地展示代码。这种工具对于...
**文件名称列表:** 只有一个文件 "max197.c",这是C语言的源代码文件。通常,这个文件会包含所有与MAX197芯片交互所需的函数定义、数据结构和可能的全局变量。开发者可以通过编译和链接这个文件来生成可执行程序,...
结构体允许我们将多个不同类型的变量组合成一个单一的数据结构,C_hw06.cpp可能包含了结构体的使用示例。枚举则提供了一种为整型常量命名的方式,增强了代码的可读性。理解这两者,有助于编写更复杂的数据结构和...
C语言是一种强大的、低级的编程语言,广泛应用于系统编程、嵌入式开发、游戏引擎、软件开发等多个领域。学习C语言不仅可以帮助你理解计算机底层工作原理,还能为学习其他高级语言打下坚实基础。 1. **基本语法**:...
C语言是一种强大的、通用的编程语言,被广泛用于系统编程、软件开发、设备驱动和嵌入式系统。这个压缩包包含超过500个C语言源...无论是对C语言的基础掌握还是对特定领域的深入探究,这些源代码都将提供宝贵的实践经验。