1 setvbuf(stdin, calloc(1 << 20, sizeof(char)), _IOFBF, 1 << 20); 2 setvbuf(stdout, calloc(1 << 20, sizeof(char)), _IOFBF, 1 << 20);
在数据量比较大的情况下,插入上面两行代码就可以大大加快输入输出速度。它扩大了stdin、stdout缓冲区大小,使之扩容到了1MB。在同样大小的数据量下,减少了程序刷新缓冲区的操作次数。
1 setvbuf(stdin, calloc(1 << 20, sizeof(char)), _IOFBF, 1 << 20); 2 setvbuf(stdout, calloc(1 << 20, sizeof(char)), _IOFBF, 1 << 20);
在数据量比较大的情况下,插入上面两行代码就可以大大加快输入输出速度。它扩大了stdin、stdout缓冲区大小,使之扩容到了1MB。在同样大小的数据量下,减少了程序刷新缓冲区的操作次数。