📄 twhole.c
字号:
/* Copyright (c) Colorado School of Mines, 2006.*//* All rights reserved. */#include "sftest.h"static int Count;static int Size;#if __STD_Cssize_t writef(Sfio_t* f, const Void_t* buf, size_t n, Sfdisc_t* disc)#elsessize_t writef(f,buf,n,disc)Sfio_t* f;Void_t* buf;size_t n;Sfdisc_t* disc;#endif{ Count += 1; if((n % Size) != 0) terror("Wrong record size\n"); return write(sffileno(f),buf,n);}Sfdisc_t Disc = {(Sfread_f)0, writef, (Sfseek_f)0, (Sfexcept_f)0, (Sfdisc_t*)0};MAIN(){ Sfio_t* f; char buf[550]; int i; char* s = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; Count = 0; Size = 52; if(!(f = sfopen(NIL(Sfio_t*), tstfile(0), "w")) ) terror("Opening to write\n"); sfsetbuf(f,buf,sizeof(buf)); sfset(f,SF_WHOLE,1); sfdisc(f,&Disc); for(i = 0; i < 100; ++i) if(sfwrite(f,s,52) != 52) terror("sfwrite failed\n"); sfclose(f); if(Count != 10) terror("Wrong number of writes1\n"); Count = 0; Size = 53; if(!(f = sfopen(NIL(Sfio_t*), tstfile(0),"w")) ) terror("Opening to write\n"); sfsetbuf(f,buf,sizeof(buf)); sfset(f,SF_WHOLE,1); sfdisc(f,&Disc); for(i = 0; i < 100; ++i) if(sfputr(f,s,'\n') != 53) terror("sfputr failed\n"); sfclose(f); if(Count != 10) terror("Wrong number of writes2\n"); TSTEXIT(0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -