bug4.c

来自「绝对正真的stdio.h的实现」· C语言 代码 · 共 49 行

C
49
字号
#include <stdio.h>#include <unistd.h>#include <string.h>int stdio_block_read = 1, stdio_block_write = 1;intmain (int argc, char *argv[]){  FILE *f;  int i;  char buffer[31];  const char filename[] = "/tmp/bug4.test";  while ((i = getopt (argc, argv, "rw")) != -1)    switch (i)      {      case 'r':	stdio_block_read = 0;	break;      case 'w':	stdio_block_write = 0;	break;      }  f = fopen (filename, "w+");  for (i = 0; i < 9000; ++i)    putc('x', f);  fseek (f, 8180L, 0);  fwrite ("Where does this text come from?", 1, 31, f);  fseek (f, 8180L, 0);  fread (buffer, 1, 31, f);  fwrite (buffer, 1, 31, stdout);  fclose (f);  remove (filename);  if (!memcmp (buffer, "Where does this text come from?", 31))    {      puts ("\nTest succeeded.");      return 0;    }  else    {      puts ("\nTest FAILED!");      return 1;    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?