read apue


すべてのクラスを削除する準備をします.hはniuBだfig 1.4開始
ok
vimで解決、ctags-R-f systag/usr/include//mydir
systagを加える~/.vimrc
vim編集時にcontrol+]にジャンプして定義が見つからなければいいです
P O S I Xにある.1アプリケーションでは、幻数0、1、2は、シンボル定数S T D I N F I L E N O、S T D O U T F I L E N O、およびS T D E R R F I L E N Oに置き換えられるべきである.これらの定数は、ヘッダファイルで.

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#define BUFFSIZE    4096

int
main(void)
{
    int     n;
    char    buf[BUFFSIZE];

    while ((n = read(STDIN_FILENO, buf, BUFFSIZE)) > 0)
        if (write(STDOUT_FILENO, buf, n) != n)
            printf("write error");

    if (n < 0)
        printf("read error");

    exit(0);
}

fcntl.hとunistd.h
http://baike.baidu.com/view/3522799.htm
----------seek-------
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>

int
main(void)
{
    if (lseek(STDIN_FILENO, 0, SEEK_CUR) == -1)
        printf("cannot seek
"); else printf("seek OK
"); exit(0); }

[root@red54apple c]# gcc fig3_11.c
[root@red54apple c]# ./a.out < epoll-test.c
は、0より小さいかどうかをテストしないで、-1に等しいかどうかをテストします.
--------------getopt----
関数説明getopt()は、コマンドラインパラメータを解析するために使用されます.パラメータargcおよびargvはmain()によって伝達されるパラメータの個数および内容である.パラメータoptstringはオプション文字列であり、getopt()がどのオプションとどのオプションにパラメータが必要かを処理できるかを通知します.オプション文字列のアルファベットの後に「:」と続くと、関連するパラメータがあり、全域変数optargがこの追加パラメータを指すことを示します.処理中にoptstringで指定された他のオプションgetopt()に一致しないエラーメッセージが表示された場合、ドメイン変数optoptを「?」に設定します.文字、getopt()にエラーメッセージを印刷したくない場合は、全域変数opterrを0に設定すればよい
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char **argv)
{
        int ch;
        opterr = 0;
        while((ch = getopt(argc,argv,"a:bcde"))!= -1)
                switch(ch)
                {
                        case 'a':
                                printf("option a:’%s’
",optarg); break; case 'b': printf("option b :b
"); break; default: printf("other option :%c
",ch); } printf("optopt +%c
",optopt); }