K.Maebashi's BBS 投稿フォーム
ハンドル名
件名
Link
>select関数についての振舞いについて調べています。 >(Win2k+Cygwin) > >#include <stdio.h> >#include <string.h> >#include <stdlib.h> >#include <sys/types.h> >#include <sys/socket.h> >#include <netinet/in.h> >#include <netdb.h> >#include <sys/types.h> >#include <curses.h> >#include <signal.h> >#include <unistd.h> >//=================== >void session_loop(){ >fd_set mask; >FD_ZERO(&mask); >FD_SET(0,&mask); >fd_set readOK; >int width=1; >char c; >printf("う\n"); >while(1){ >printf("あ\n"); >readOK=mask; >printf("こwidth=%d\n",width); >select(width,(fd_set *)&readOK,NULL,NULL,NULL); >printf("け\n"); >if ( FD_ISSET(0, &readOK ) ){ >printf("い\n"); >c=getchar(); //getcharはバッファリングあり関数 >printf("c=%c\n",c); >printf("さ\n"); >} >} >} >//================= >int main(void){ >session_loop(); >return 0; >} > >というリストで >端末ドライババッファやstdinバッファの振舞いについて学習しています。 >端末ドライバにバッファリングされた文字群がgetchar関数のread要求とかでstdinバッファに排出される様子や >stdinバッファの文字群がgetchar関数の読込み毎に減っていく様子を垣間見たく思っています。 >端末ドライバのバッファやstdinバッファの中身を覗くにはどうすればいいのでしょうか?
spamよけのため、ここに「ほげぴよ」と入力してください。
削除パスワード :
クリック!