c语言处理文件里的大数据

c语言处理文件里的大数据,第1张

C语言处理大数据一般有三种处理方法:

1.分段处理,即无论文件多大,程序中使用的永远只是一小段部分,可以使用一个缓冲区,根据用户交互输入,分段的输出;

2.使用内存文件映射,这是最常用的文件的处理方法,Linux和Windows都提供一种内存文件映射的机制,以Windows为例,可以调用 CreateFile、 CreateFileMapping以及 MapViewOfFile三个函数来完成内存文件映射;

3.使用数据库,借助SQL查询语言对大数据进行 *** 作。

C语言mmap()函数:建立内存映射

头文件:

#include <unistd.h> #include <sys/mman.h>

定义函数:void *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offsize)

函数说明:mmap()用来将某个文件内容映射到内存中,对该内存区域的存取即是直接对该文件内容的读写。

一般来说在C语言中读取txt文件的信息有两种方法,一种是使用C语言标准文件I/O中的fopen()、fread()等等函数,一种是调用 *** 作系统中的API函数,比如Windows上的ReadFile()、OpenFile()等等,现在 *** 作系统一般都具备内存文件映射功能,对于大的txt文件,一般都使用这种方式 *** 作。下面是一个使用C语言标准文件I/O *** 作文件的例子。

#include<stdio.h>

FILE*stream

void main(void)

{

long l

float fp

char s[81]

char c

 

stream=fopen("fscanf.out","w+")

if(stream==NULL)

printf("Thefilefscanf.outwasnotopened\n")

else

{

fprintf(stream,"%s%ld%f%c","hello world",  

65000,3.14159,'x')

/*Setpointertobeginningoffile:*/

fseek(stream,0L,SEEK_SET)

/*Readdatabackfromfile:*/

fscanf(stream,"%s",s)

fscanf(stream,"%ld",&l)

fscanf(stream,"%f",&fp)

fscanf(stream,"%c",&c)

/*Outputdataread:*/

printf("%s\n",s)

printf("%ld\n",l)

printf("%f\n",fp)

printf("%c\n",c)

fclose(stream)

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/tougao/11900370.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存