bug12.c

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

C
47
字号
#include <stdio.h>#include <string.h>char x[4096], z[4096], b[21], m[4096 * 4];intmain (void){  FILE *f = tmpfile ();  int i, failed = 0;  memset (x, 'x', 4096);  memset (z, 'z', 4096);  b[20] = 0;  for (i = 0; i <= 5; i++)    {      fwrite (x, 4096, 1, f);      fwrite (z, 4096, 1, f);    }  rewind (f);  fread (m, 4096 * 4 - 10, 1, f);  fread (b, 20, 1, f);  printf ("got %s (should be %s)\n", b, "zzzzzzzzzzxxxxxxxxxx");  if (strcmp (b, "zzzzzzzzzzxxxxxxxxxx"))    failed = 1;  fseek (f, -40, SEEK_CUR);  fread (b, 20, 1, f);  printf ("got %s (should be %s)\n", b, "zzzzzzzzzzzzzzzzzzzz");  if (strcmp (b, "zzzzzzzzzzzzzzzzzzzz"))    failed = 1;  fread (b, 20, 1, f);  printf ("got %s (should be %s)\n", b, "zzzzzzzzzzxxxxxxxxxx");  if (strcmp (b, "zzzzzzzzzzxxxxxxxxxx"))    failed = 1;  fread (b, 20, 1, f);  printf ("got %s (should be %s)\n", b, "xxxxxxxxxxxxxxxxxxxx");  if (strcmp (b, "xxxxxxxxxxxxxxxxxxxx"))    failed = 1;  return failed;}

⌨️ 快捷键说明

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