📄 tstkpk.c
字号:
/* Copyright (c) Colorado School of Mines, 2006.*//* All rights reserved. */#include "sftest.h"MAIN(){ Sfio_t* f; char buf[1024]; char* s; int fd[2]; close(0); if(pipe(fd) < 0 || fd[0] != 0) terror("Making pipe\n"); strcpy(buf,"1234567890"); if(!(f = sfopen(NIL(Sfio_t*),buf,"s"))) terror("Opening string stream\n"); if(!sfstack(f,sfstdin)) terror("Stacking\n"); if(write(fd[1],"ab",2) != 2) terror("Writing ab to pipe\n"); if(!(s = sfreserve(f,SF_UNBOUND,1)) || sfvalue(f) != 2) terror("Peeking size1 = %d but should be 2\n", sfvalue(f)); sfread(f,s,0); if(strncmp(s,"ab",2) != 0) terror("Wrong data1\n"); if(write(fd[1],"cd",2) != 2) terror("Writing cd to pipe\n"); close(fd[1]); if(!(s = sfreserve(f,4,0)) ) terror("Peeking size2 = %d but should be 4\n", sfvalue(f)); if(strncmp(s,"abcd",4) != 0) terror("Wrong data2\n"); if(!(s = sfreserve(f,10,0)) ) terror("Peeking size3 = %d but should be 10\n", sfvalue(f)); if(strncmp(s,"1234567890",10) != 0) terror("Wrong data3\n"); TSTEXIT(0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -