From owner-FreeBSD-users-jp@jp.freebsd.org  Fri Sep 29 16:30:31 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id QAA14276;
	Fri, 29 Sep 2000 16:30:31 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from atlas-is.co.jp (dns1.atlas-is.co.jp [210.230.230.66])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id QAA14271
	for <FreeBSD-users-jp@jp.freebsd.org>; Fri, 29 Sep 2000 16:30:30 +0900 (JST)
	(envelope-from endo@atlas-is.co.jp)
Received: from kitahama.atlas-is.co.jp (emerald.atlas-is.co.jp [192.168.11.1])
	by atlas-is.co.jp (8.8.8+2.7Wbeta7/3.6W-uucp) with ESMTP id QAA07932
	for <FreeBSD-users-jp@jp.freebsd.org>; Fri, 29 Sep 2000 16:29:59 +0900 (JST)
Received: from aquamarineN.atlas-is.co.jp ([192.168.11.12])
	by kitahama.atlas-is.co.jp (8.8.8+2.7Wbeta7/3.6W-uucp) with SMTP id QAA28466
	for <FreeBSD-users-jp@jp.freebsd.org>; Fri, 29 Sep 2000 16:30:02 +0900 (JST)
Message-Id: <200009290730.AA00772@aquamarineN.atlas-is.co.jp>
From: endo@atlas-is.co.jp (=?ISO-2022-JP?B?GyRCMXNGIyEhPVNNNRsoQg==?=)
Date: Fri, 29 Sep 2000 16:30:00 +0900
To: FreeBSD-users-jp@jp.freebsd.org
MIME-Version: 1.0
X-Mailer: AL-Mail32 Version 1.10
Content-Type: text/plain; charset=iso-2022-jp
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+000315
X-Sequence: FreeBSD-users-jp 55647
Subject: [FreeBSD-users-jp 55647] read buffer size
 =?ISO-2022-JP?B?GyRCJE5KUTk5GyhC?= 
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org
X-Originator: endo@atlas-is.co.jp

$B1sF#$G$9!#(B

setbuf $B$K$D$$$F65$($F$/$@$5$$!#(B

$B%l%3!<%I$NB?$$%G!<%?$rFI$_9~$`$N$K9b8zN(2=$r$O$+$j$?$$(B
$B$?$a!"<+A0$G%P%C%U%!%j%s%0$r$7$h$&$H9M$($F$$$^$9!#(B

$BNc$($P(B 5M $B$N%a%b%j$r3NJ]$7!"$=$3$K%U%!%$%k$r$I$+$C$HFI(B
$B$_9~$`!#$"$H!"$A$^$A$^$H(B 128 $B%P%$%H$E$D$/$i$$%P%C%U%!(B
$B$+$iFI$_=P$7!"=hM}$r9T$$$^$9!#$G!"%G!<%?$,L5$/$J$C$?$i(B
$B$^$?%j!<%I$9$k!#!J6-3&=hM}$,LLE]$/$5$=$&!K(B

$B$G!"9M$($?$N$G$9$,!"(Bfp $B<+?.$b%P%C%U%!$r;}$C$F$$$k$@$m(B
$B$&$H9M$(!"D4$Y$F$_$k$H(B setbuf $B$H$$$&4X?t$,$"$k$G$O$J(B
$B$$$G$9$+!#$h$/J,$+$i$J$+$C$?$N$G$9$,!"J70O5$E*$K(B fp $B$N(B
$B%P%C%U%!$rA}$d$;$=$&$J5$$,$7$^$9!#(B

$B$3$l$K$h$C$F8zN($O>e$,$k$N$G$7$g$&$+!)$=$l$b$H<+A0$G(B
$B%P%C%U%!%j%s%0$r$7$?J}$,8zN(E*$J$N$G$7$g$&$+!)(B
$B$465<x2<$5$$!#(B

setbuf $B$N%5%s%W%k$O0J2<$N$h$&$K$7$F$_$^$7$?!#(B
$B0c$$$O$=$l$[$I46$8$^$;$s$G$7$?!#(B
$B$J$s$H$J$/(B OS $B$,8-$$$H;W$&$N$G$"$s$^$j0UL#L5$$$N$+$J$!(B
$B$H$b;W$C$F$$$^$9!#(B
$B$I$J$?$+E*3N$J%"%I%P%$%9$r$*4j$$$$$?$7$^$9!#(Bm(_ _)m

#include <stdio.h>

static char readbuf1[5000001];
static char readbuf2[5000001];

main()
{
  FILE *fp1, *fp2, *fp3;
  char buf1[256], buf2[256];

  if ( (fp1 = fopen("test.dat", "r")) == NULL ) {
    printf("file open error\n");
    exit(0);
  }
  if ( (fp2 = fopen("test2.dat", "r")) == NULL ) {
    printf("file open error\n");
    exit(0);
  }
  if ( (fp3 = fopen("test3.dat", "w")) == NULL ) {
    printf("file open error\n");
    exit(0);
  }
  /* $B$3$3$G%P%C%U%!$rA}$d$7$F$k!#%P%C%U%!$rA}$d$5$J$$$H$-$O$3$N#29T$r>C$9(B */
  setbuffer(fp1, readbuf1, 5000000);
  setbuffer(fp2, readbuf2, 5000000);
  while(!feof(fp1)) {
    fread(buf1, 128, 1, fp1), fread(buf2, 128, 1, fp2);
    fwrite(buf1, 128, 1, fp3);fwrite(buf2, 128, 1, fp3);
  }
  fclose(fp1), fclose(fp2), fclose(fp3);
}
