美文网首页
c语言操作大于2G文本

c语言操作大于2G文本

作者: 一路向后 | 来源:发表于2021-03-04 22:26 被阅读0次

1.源码实现

#define _FILE_OFFSET_BITS 64

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

int main()
{
    FILE *fp = NULL;
    char buf[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ,,./?\\()*&^%$#@!~`\"{}[]|<>";
    char tmp[1024*1024];
    int a = 0;
    int i, j, k;
    int len = strlen(buf);

    srand((unsigned)time(NULL));

    fp = fopen("1.txt", "wb");
    if(fp == NULL)
    {
        return -1;
    }

    for(k=0; k<6144; k++)
    //for(k=0; k<1024; k++)
    {
        for(j=0; j<1024; j++)
        {
            for(i=0; i<1023; i++)
            {
                a = rand() % len;
                tmp[1024*j+i] = buf[a];
            }

            tmp[1024*j+i] = '\n';
        }

        fwrite(tmp, 1024*1024, 1, fp);
    }

    fclose(fp);

    return 0;
}

2.编译源码

$ gcc -o example example.c

3.运行及其结果

$ time ./example
real    2m3.855s
user    1m48.128s
sys 0m5.541s

相关文章

  • c语言操作大于2G文本

    1.源码实现 2.编译源码 3.运行及其结果

  • int和NSInteger有什么区别?

    首先: 在c语言中,int和long的字节数是和操作系统指针所占位数相等; 但c语言中说,long的长度永远大于或...

  • C中的int和OC中的NSInteger区别

    在c语言中,int和long的字节数是和操作系统指针所占位数相等。 但c语言中说,long的长度永远大于或等于in...

  • int和NSInteger区别

    查到c语言中,int和long的字节数是和操作系统指针所占位数相等。 但c语言中说,long的长度永远大于或等于i...

  • Python 中的 pass 在 C 语言相当于什么

    相当于 C 语言的 分号 “;” C 语言是以分号作为语句结尾。 if (a == 3) ; // 如果 a 大于...

  • C语言中的文件操作

    C语言中的文件操作 在C语言中,文件是存储一连串bytes的数据,可以被当作文本或者位串来处理 文件也是一种输入输...

  • HTML

    html的简介 超文本标记语言,网页语言 超文本:超出文本的范畴,使用html可以轻松实现这样操作 标记:html...

  • c++_动态对象创建

    一.c语言 c语言使用malloc 来创建堆对象 二.c++ new操作符 delete操作符 如果new []...

  • c语言文本读写

    头文件 include 代码用例 FILE *dfp,*sfp; //创建文件类dfpdfp=fopen("mes...

  • C语言文件输入和输出操作的学习心得(四)

    概述 C语言文件输入和输出操作的学习心得(一)C语言文件输入和输出操作的学习心得(二)C语言文件输入和输出操作的学...

网友评论

      本文标题:c语言操作大于2G文本

      本文链接:https://www.haomeiwen.com/subject/nidlqltx.html