io外挂

c++里最快的io方式是什么呢?

详见这里

同时给出一个比较常用的方式,就是用fread.然后自己解析文本,而不是用cin或者scanf,见这里:

//fast io test
#include <cstdio>
#include <cstdlib>

const int MAXS = 30* 1024* 1024;

char buf[MAXS];


void io_parse(char *buf, int len = MAXS){
  //重点修改此方法,自己解析输入。
    int i;
    for(char *p = buf; *p && p - buf < len; p++){
        putchar(*p);
    }
}


void fast_io(){
    int len = fread(buf, 1, MAXS, stdin);
  //或者: int len = read(stdin,buf,MAXS)
    buf[len] = '\0';
    io_parse(buf, len);
}



int main(){

    fast_io();

    return 0;
}

  

 还有这个io外挂,可以放在程序的开头:

const int SZ = 1<<20;
struct fastio{
    char inbuf[SZ];
    char outbuf[SZ];
    fastio(){
        setvbuf(stdin,inbuf,_IOFBF,SZ);
        setvbuf(stdout,outbuf,_IOFBF,SZ);
    }
}io;

  

 

转载于:https://www.cnblogs.com/miaoz/p/4365838.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值