}
【3.58】下面程序的功能是将从终端上读入的10个整数以二进制方式写入名为\的新文件中。 #include
if(( fp=fopen( ① , \exit (0);
for( i=0;i<10;i++ ) { scanf(\;
fwrite( ② , sizeof(int), 1, ③ ); }
fclose( fp);
}
【3.59】以字符流形式读入一个文件,从文件中检索出六种C语言的关键字,并统计、 输出每种关键字在文件中出现的次数。本程序中规定:单词是一个以空格或'\\t'、 '\\n'结束的字符串。 #include
char fname[20], buf[100]; int num; struct key { char word[10]; int count;
}keyword[]={ \\;
char *getword (FILE *fp) { int i=0; char c;
while((c=getc(fp)) != EOF && (c==' '||c=='\\t'||c=='\\n')) if( c==EOF ) return (NULL) ; else buf[i++]=c;
while((c = ① && c!= ' ' && c!= '\\t' && c!= '\\n' ) buf[i++] = c; buf[i]= '\\0'; return(buf); }
lookup(char *p) { int i; char *q, *s; for(i=0;i ; { q = ② ; s=p; while( *s && (*s==*q) ) { ③ } if( ④ ) { keyword[i].count++; break; } } return; } main() { int i; char *word; printf(\; scanf(\; if((cp=fopen(fname, \{ printf(\; exit(0); } num = sizeof(keyword) / sizeof(struct key); while( ⑤ ) lookup(word); fclose(cp);