通信のLinuxファイル

/ * 
 *実行した後、別のプロセスがファイルに書き込まれた内容を読み取ろうとする
 * / 
書式#include <stdio.hに> 
する#include <unistd.h> 
書式#include <stdlib.h>に含ま
書式#include <fcntl.h> 
書式#include < ストリング .H> INTメイン(ボイド
{ チャー BUF [ 1024 ];
     CHAR * STR = " ---------- -------- secesuss TEST2 \ N-書く"をINT RET; 
    SLEEP (2);    // スリープ2秒は、データがtest1のtest.txtというファイルを書かれていることを保証するために、int型 FD =オープン(" test.txtのを"


    


    、O_RDWR); 

    // 書かれたファイルtest.txtというのtest1のデータを読み込もう 
    RET =読む(FD、BUF、はsizeof (BUF));    

    // 画面に読み取り、印刷データ
    書き込み(STDOUT_FILENO、bufは、RET ); 

    // そのまま書き込み位置test.txthファイルへの書き込みデータ
    の書き込み(FD、STR、STRLEN(STR)); 

    のprintf(" TEST2リード/フィニッシュ\ N-書く" ;)

    閉じる(FD)を、

    リターン 0 ; 
}

 

/ * 
 *実行する前に、ファイルにデータを書き込むことがあるtest.txt 
 * / 
書式#include <stdio.hに> 
する#include <unistd.h> 
書式#include <fcntl.h> 
書式#include <stdlib.h>に含ま
する#include < 文字列の.h > の#define N. 5 INTメイン(ボイド
{ チャー BUF [ 1024 ];
     CHAR * STR = " -------------- ------------- secesuss \ N- " ;
     int型RET; int型のfd =オープン(" test.txtの"、O_RDWR | O_TRUNC | O_CREAT、0664 ); //




    

    

    直接打开文件写入数据
    ライト(FD、STR、strlenを(STR))。
    printf(" test1のは、test.txtの仕上げ\ nのに書き込みます" ); 

    スリープ(N)。

    lseek(FD、0 、SEEK_SET)。
    RET =読み取る(FD、BUF、はsizeof (BUF))。
    RET = ライト(STDOUT_FILENO、BUF、RET)。

    場合(保持== - 1 ){ 
        perrorは(" 第2のエラーを書き込みます" )。
        出口(1 )。
    } 

    近い(FD)。

    リターン 0 ; 
}

 

おすすめ

転載: www.cnblogs.com/wanghao-boke/p/11317661.html