ACM中的fread读入

2020-06-02 16:10:00 浏览数 (2)

fread可以加快读入速度,尤其是读特大的二进制文件。

代码语言:javascript复制
#include <cctype>
typedef long long LL;
char buf[100000],*p1=buf,*p2=buf;
inline char nc(){
    return p1==p2&&(p2=(p1=buf) fread(buf,1,100000,stdin),p1==p2)?EOF:*p1  ;
}
inline bool rea(int & x){
    char c=nc();x=0;
    if(c==EOF) return false;
    for(;!isdigit(c);c=nc());
    for(;isdigit(c);x=x*10 c-'0',c=nc());
    return true;
}
inline bool rea(LL & x){
    char c=nc();x=0;
    if(c==EOF) return false;
    for(;!isdigit(c);c=nc());
    for(;isdigit(c);x=x*10 c-'0',c=nc());
    return true;
}

ps. 处理负数需要自己加上去。

0 人点赞