1. 程式人生 > >fread讀入掛 gets getchar 整數

fread讀入掛 gets getchar 整數

isspace space enter emp int bsp con oid pac

const int buffer_max_size=100000;
struct quick_in{
    char buf[buffer_max_size];
    char *ps;char *pe;
    quick_in(){
        ps=buf;pe=buf+1;
    }
    inline void innext(){
        if(++ps==pe)
            pe=(ps=buf)+fread(buf,sizeof(char),sizeof(buf)/sizeof(char),stdin);
    }
    template <class
T> inline bool operator()(T &n){ n=0; T f=1; if(ps==pe)return false;//EOF do{ innext();if(*ps== )f=-1; } while(ps!=pe&&!isdigit(*ps)); if(ps==pe)return false;//EOF do{ n=(n<<1)+(n<<3)+*ps-48
; innext(); } while(ps!=pe&&isdigit(*ps));n*=f; return true; } inline char getchar(){ while(ps!=pe&&isspace(*ps))innext(); char c=*ps;innext();return c; } inline bool isenter(char c){return c==\n;} void gets(char
*s){ while(ps!=pe&&isspace(*ps)) innext(); while(ps!=pe&&!isenter(*ps)){ *s++=*ps;innext(); } *s=0; } }; quick_in in;

fread讀入掛 gets getchar 整數