前段时间没事,学了一下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环境中运行了。
分享到:
相关推荐
应用场景:使用pandas把多个相同结构的Excel文件合并为一个。 原始数据: 相关代码: import os import pandas as pd # 将文件读取出来放一个列表里面 pwd = 'test' # 获取文件目录 # 新建列表,存放文件名 ...
Visual C++源代码 118 如何显示数据表多个字段合并信息Visual C++源代码 118 如何显示数据表多个字段合并信息Visual C++源代码 118 如何显示数据表多个字段合并信息Visual C++源代码 118 如何显示数据表多个字段合并...
如果想传输多个文件,不但需要多次交互,还需要把每个文件的文件名都输入进去,很不方便,所以进行了一个小扩展:即客户端可以将打算传送的多个文件都先放到一个文件夹目录下,然后通过代码实现将这一文件目录下的...
一个小的文件分割器。
今日,穷本人目前之C所学作此【文件合并器】(VC下调试成功),主要功能:将一个目录下的ANSI编码和UNICODE编码格式的文件以及其中内容拷贝到一个文件里。功能基本稳定,代码部分仍待优化。忘各位不吝赐教~~
利用Python,将多个excel文件合并为一个文件 思路 利用python xlrd包读取excle文件,然后将文件内容存入一个列表中,再利用xlsxwriter将内容写入到一个新的excel文件中。 完整代码 # -*- coding: utf-8 -*- #将多...
Linux将多个C源文件编译进一个KO模块驱动示例 博文:https://blog.csdn.net/p1279030826/article/details/108040129
002 运行多个源文件 003 求整数之积 004 比较实数大小 005 字符的输出 006 显示变量所占字节数 007 自增/自减运算 008 数列求和 009 乘法口诀表 010 猜数字游戏 011 模拟ATM(自动柜员机)界面 012 用一维...
通过VBA将多个格式相同的Excel文件合并成一个文件,带文件处理
220个C语言代码实例大全,一共有220个C源码,涉及到游戏、算法、字符等多方面的技术,比如: 解救人质游戏只要可以走到下面的小人那里就赢 合并两上有序文件 数列求和、猜数字游戏 图形的广度优先搜寻法...
这个应用程式会撷取多个TCK档案,并将它们合并为一个TCK档案。 merge2TCKs应用程序将合并两个tcks。 mergeTCKs应用程序将合并多个tcks(即,两个以上)。 输出是单个TCK文件,其中包含两个(或多个)输入tck文件中...
如果此窗口内的一个或多个字节与当前位于编码点的序列匹配,则将指针保存到压缩数据。该指针包含从当前编码点到重复数据的偏移量,以及匹配了多少字节。该值随后被描述为指针的“长度”。当指针被记录时,紧接在编码...
以此实现多个进程对共享资源的互斥访问。 创建3进程(或者线程)作为生产者,4个进程(或者线程)作为消费者。创建一个文件作为数据源,文件中事先写入一些内容作为内容。 编写代码实现生产者进程的工作内容,即从...
猜想:对于“8.3格式文件”的文件名,(也许是出于向后兼容的目的),操作系统总是尝试以“大写”的文件名保存,小写的文件名或者扩展名也用大写表示,然后在“文件登记项”的32B的第13个字节(偏移量为0x0C)标识。...
这里有我详细介绍使用asn1c命令来将自定义的.asn文件生成.c文件,并对自定义的结构体进行解码和组码。 https://blog.csdn.net/adgentleman/article/details/88577417 资源是所有文件的打包。
合并-yml 将多个YML文件合并到一个文件中,并替换找到的任何环境变量(c)版权所有2013 Jonathan Cobb。 可以在Apache许可版本2下获得此代码: : 建造mvn -P uberjar package需要“ maven”构建自动化工具。 使用在...
LeNet-5神经网络 C源代码,这个写的比较好,可以用gcc编译去跑,结合理论可以对深度学习有更深刻的了解 介绍 根据YANN LECUN的论文《Gradient-based Learning Applied To Document Recognition》设计的LeNet-5神经...
有C语言简单实现把指定内容替换为其他内容的功能,根据配置的内容可以一次替换多个内容,已在VC++6.0和HP-UNIX上编译通过,并测试通过,在RELEASE文件里面有例子