Newsgroups: fj.lang.c
Path: galaxy.trc.rwcp.or.jp!coconuts.jaist!wnoc-tyo-news!spinnews!spin-hsd0-tky!inet-tsb!tis2!hq10!news.hby.toshiba!news.tsurumi.toshiba!cilab.rdc.toshiba!isl.rdc.toshiba!tsb-wide!wnoc-sfc-news!wnoc-kyo-news!hakozaki.karrn!hakata!kudpc!sakunami!ayashi!kaneko
From: kaneko@ccedu.sendai-ct.ac.jp (Yutaka Kaneko)
Subject: Re: scanf
X-Nntp-Posting-Host: saikachi
Message-ID: <DMuv2o.A4A@ayashi.cc.sendai-ct.ac.jp>
Lines: 152
Sender: news@ayashi.cc.sendai-ct.ac.jp (SNCT NetNews Manager)
Organization: Sendai National College of Technology
X-Newsreader: mnews [version 1.18PL3] 1994-08/01(Mon)
References: <DMt0FI.I1@ayashi.cc.sendai-ct.ac.jp>
	<4g0u60$f4o@csdnews.sm.sony.co.jp>
Date: Fri, 16 Feb 1996 06:23:11 GMT
Xref: galaxy.trc.rwcp.or.jp fj.lang.c:2202
X-originally-archived-at: http://galaxy.rwcp.or.jp/text/cgi-bin/newsarticle2?ng=fj.lang.c&nb=2202&hd=a
X-reformat-date: Mon, 18 Oct 2004 15:18:22 +0900
X-reformat-comment: Tabs were expanded into 4 column tabstops by the Galaxy's archiver. See http://katsu.watanabe.name/ancientfj/galaxy-format.html for more info.

  $B6b;R!w@gBfEEGH$G$9!#(B

In article <4g0u60$f4o@csdnews.sm.sony.co.jp>
sakamoto@sm.sony.co.jp writes:
>> In article <DMt0FI.I1@ayashi.cc.sendai-ct.ac.jp>,
>>         kaneko@ccedu.sendai-ct.ac.jp (Yutaka Kaneko) says:
>> >   $B$^$@2?$+!"LdBjE@$,$"$j$^$7$?$i$4;XE&$/$@$5$$!#(B
[$B%W%m%0%i%`$O>JN,$7$^$9(B]
>> $BLdBjE@$O$"$j$^$;$s$,!"(Bscanf()$B$r;H$C$?$[$&$,4JC1$G$9!#(Bbuf[]$B$bMW$i$J$$$7!#(B

  buf$B$K$5$/J,$N%a%b%j$b$J$$$h$&$J4D6-$G%W%m%0%i%`$r:n$k$N$G(B
$B$"$l$P!"(Bscanf$B7O$J$I$N5pBg$J%i%$%V%i%j$J$I$r;H$&;v<+BN$,8m$j(B
$B$G$"$j!"$`$7$m(Bread()$B$+(Bgetc()$B$r;H$C$F%3%s%Q%/%H$K=q$/$Y$-$G(B
$B$9!#(B

$B%j%9%H(B1:
>>     fprintf(stderr, "input data=");
>>     if (scanf("%x", &ain) != 1) {
>> fprintf(stderr, "input error\n");
>> exit(1);
>>     }
>>     printf("output data=%x\n", ain);
>> 
>> > scanf()$B$,JXMx$J>l9g$H$$$&$N$O;d$K$O;W$$IU$-$^$;$s!#(B
>> $B>e$NNc$G==J,$G$O$"$j$^$;$s$+!#(B

  $B>e$NNc$@$1$+$i$J$k%W%m%0%i%`$OLdBj$"$j$^$;$s$,!"(B

$B%j%9%H(B2:
       fprintf(stderr, "input data a=");
       if (scanf("%x", &ain) != 1) {
      fprintf(stderr, "input error\n");
      exit(1);
       }
       printf("output data a=%x\n", ain);
       fprintf(stderr, "input data b=");
       if (scanf("%x", &ain) != 1) {
      fprintf(stderr, "input error\n");
      exit(1);
       }
       printf("output data b=%x\n", ain);

$B$H$$$&%W%m%0%i%`$G$O!"8m$C$F!"(B12$B$HBG$D$H$3$m$r(B`1 2'$B$J$I$H6u(B
$BGr$r$"$1$F$7$^$C$?>l9g$K0J8e$NI=<($,:n<T$K0U?^$KH?$7$?I=<($K(B
$B$J$C$F$7$^$$$^$9!#(B

  $B=i?4<T$O%j%9%H(B1$B$N$h$&$J%W%m%0%i%`$r8+$k$H!"$5$i$K%G!<%?$,(B
$BI,MW$J;~$K$O%j%9%H(B2$B$N$h$&$K3HD%$7$F$7%H%i%V%k$r0z$-5/$7$F$7(B
$B$^$$$^$9!#=i?4<T$K<($9NcBj$H$7$F$O(Bfgets+sscanf $B$K$7$?$[$&$,(B
$B0BA4$G$9!#(B
  $B%G!<%?$r(B1$B$D$@$1<u$1<h$k>l9g$K%j%9%H(B1 $B$N$h$&$J%W%m%0%i%`$r(B
$B<($7$?$H$-$K!"$=$l$r(B2$B8D$K$7$?$H$-$NLdBjE@$bL@5-$7!"FI<T$,$=(B
$B$l$r40A4$KM}2r$7$F$/$l$k$N$G$"$l$P$h$$$N$G$9$,!"8=<B$K$O$$$/(B
$B$iCm0U$7$F$bJ9$$$F$$$J$$3X@8$,$$$k0J>e!"40A4$KM}2r$7$J$$$H;H(B
$B$($J$$$h$&$J4X?t$O!"$h$C$]$I$NI,MW@-$,$J$$0J>e;H$&$Y$-$G$O$J(B
$B$$$H;W$$$^$9!#(B

  $B$7$+$b%G!<%?$r(B1$B8D$@$1F~NO$9$kI,MW$,$"$k$h$&$J%W%m%0%i%`$O(B
$B$`$7$m$=$N%G!<%?$r0z?t(B(argv)$B$+$i<h$k$h$&$K$9$l$P$h$/$o$6$o$6(B
scanf()$B$9$kI,MW@-$r46$8$^$;$s!#(B

>> $B9TC10L$GF~NO=hM}$r9T$$$?$$>l9g$O!"(Bfgets() + sscanf() $B$G$b$$$$$s$G$9$,!"(B
>> $B9T$KL54X78$K=q<0;XDjF~NO=hM}$r9T$$$?$$>l9g$O!"(Bscanf() $B$G$9!#(B
>> $BNc$($P!"<!$N(B word count program $B$O$I$&=q$-49$($^$9$+!#(B
>> scanf() $B$r(B fgets() + sscanf() $B$KCV$-49$($k$N$O$`$:$+$7$$$H;W$$$^$9$,!#(B
[$B%W%m%0%i%`$O>JN,$7$^$9(B]
  $B$3$N$h$&$J%W%m%0%i%`$O!VB(@J!W$G:n$k$N$G$"$l$PJL$G$9$,!"Ia(B
$BDL$O0z?t$G%U%!%$%kL>$r;XDj$G$-$k$h$&$K$7$^$9$N$G!"$`$7$m(B
fscanf()$B$r;H$&;v$K$J$k$H;W$$$^$9!#(B
  $B;d$J$i$P!"8e$G$N;H$$2s$7$r9M$($k$H(Bgetc()$B$"$?$j$GN'5A$K:n$j$^$9!#(B

>> $B@0?tCM$@$1$,5-O?$5$l$F$$$k%U%!%$%k$rF~NO$H$7$F!"$=$NAmOB$r5a$a$k<!$N%W(B
>> $B%m%0%i%`$r(B fgets() + sscanf() $B$K$7$F$_$F$/$@$5$$!#(B
[$B%W%m%0%i%`$O>JN,$7$^$9(B]

  $B$3$l$b!V%U%!%$%k!W$rF~NO$H$9$k$N$G$9$+$i!"0z?t$+$i%U%!%$%k(B
$BL>$r<h$C$F=hM}$9$Y$-$G$9$7!"$=$b$=$b%-!<%\!<%I$+$i(B1$B$D4V0c$C(B
$B$?J8;z$rF~NO$7$F$7$^$C$?$i=*N;$7$F$7$^$&%W%m%0%i%`$O!V%-!<%\(B
$B!<%I$+$i$NF~NO!W$rBP=h$K$7$F$$$k$o$1$G$O$J$$$G$9$+$i!"(B
fscan()$B$r;H$&$Y$-$G$7$g$&!#(B
  $B%-!<%\!<%I$+$i$NF~NO$KBP=h$9$k$N$G$"$l$P!"8m$C$?J8;z$N$"$k(B
$B9T$,$"$l$P%(%i!<%a%C%;!<%8$r$@$7!"$=$N9T$rF~NO$7$J$*$5$;$k$Y(B
$B$-$G!"(Bscanf()$B$G$O$I$&$K$b$J$j$^$;$s!#(B


  fscanf()$B$r;H$C$?$H$7$F$b%G!<%?%U%!%$%kCf$K8m$C$?%G!<%?$,$"(B
$B$C$?;~$K$=$l$,2?9TL\$K$"$k$+<($9;v$9$i$G$-$^$;$s!#%G!<%?%U%!(B
$B%$%k$N(B1$B9T$ND9$5$,@)8B$r2C$($F$b$h$1$l$P!"(Bfgets()+strtol()$B$r(B
$BMxMQ$9$k$H$3$m$G$9$,!"@)8B$J$7$G$d$k$N$G$"$l$P$3$s$JIw$K$+$1(B
$B$k$H;W$$$^$9!#(B
  $B$3$N%W%m%0%i%`$G$9$,!"0l8+D9$$$h$&$K8+$($^$9$,!"%U%!%$%k$+(B
$B$i(B1$BJ8;z$:$DFI$_=P$9$h$&$J%W%m%0%i%`$N!V$R$J$,$?!W$,4{$K:n$C(B
$B$F$"$j$=$l$r%Y!<%9$K$7$F$$$^$9$+$i!"$[$s$N(B10$BJ,$b$"$l$P:n$l$^(B
$B$9!#(B

    #include <stdio.h>
    #include <ctype.h>
    long sum;
    main(int argc, char **argv)
    {
int i;
FILE *fp;
if (argc>1) {
    for(i=1; i<argc; i++) {
if (NULL==(fp=fopen(argv[i],"r"))) {
    perror(argv[i]);
    exit(1);
}
count(fp, argv[i]);
    }
} else {
    count(stdin, "stdin");
}
printf("%ld\n", sum);
    }
    int count(FILE *fp, char *name)
    {
int c, l=1;
long x;
while(EOF != (c=getc(fp))) {
    if (isdigit(c)) {
sum -= x;
x = x * 10 + (c-'0');
sum += x;
    } else if (isspace(c)){
x=0;
    } else {
fprintf(stderr, "%s(line %d): Invalid character\n",
    name, l);
exit(1);
    }
    if ( c == '\n' ) l++;
}
if(ferror(fp)) {
    perror(name);
    exit(1);
}
    }

  $B$@$$$?$$!V%(%i!<=hM}!W$r>J$$$FC;$$%W%m%0%i%`$r=q$/;v$O4JC1(B
$B$G$9$,!"$=$l$O!V@5$7$$!W(BC$B$N%W%m%0%i%_%s%0$G$O$"$j$^$;$s!#(B

  $B$"$H!"(Bscanf(), printf(), getchar()$B$J$I$OF~=PNO$,(Bstdin,
stdout$B$KBP$7$F$G$"$k;v$,1#$5$l$F$7$^$$!"I8=`F~NO!"I8=`=PNO$H(B
$B$$$&35G0$r$-$A$s$HM}2r$7$F$$$J$$=i?4<T$K$O;H$o$;$k$Y$-$G$O$J(B
$B$$$H9M$($F$$$^$9!#I,MW$J$i(Bfscanf(), fprintf()$B$r;H$($P$$$$$s(B
$B$G$9$7$M!#(B

main(i,j){j=time(0);do for(i /*      $B6b;R(B $BM5(B(Yutaka Kaneko)           */
=0;i<79;i++)printf(j%512>>4? /* Sendai National College of Technology */
" ":"*"),j=j*331+113;while(  /*    kaneko@cc.sendai-ct.ac.jp          */
printf("\n\033[H\033[1L"));} /* or kaneko@akiu.gw.tohoku.ac.jp        */
