• 2021-04-14
    以下程序希望把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。出错的原因是#include int main(){ FILE *fout; char ch; fout=fopen(abc.txt,w); if (fout == NULL) { printf(cannot open infile.
    ); exit(0); } ch=fgetc(stdin); while(ch!=#) { fputc(ch,fout); ch=fgetc(stdin); } fclose(fout); return 0;}
  • 函数fopen()调用形式错误

    举一反三

    内容

    • 0

      阅读以下程序,对程序功能的描述中正确的是 #icnlude int main() { FILE *in, *out; char ch, infile[10], outfile[10]; printf("Enter the infile name:"); scanf("%s", infile); printf("Enter the outfile name:"); scanf("%s", outfile); if ((in = fopen(infile, "r")) == NULL) { printf("cannot open infile."); exit(0); } if ((out = fopen(outfile, "w")) == NULL) { printf("cannot open outfile."); exit(0); } while (!feof(in)) { fputc(fgetc(in), out); } fclose(in); fclose(out); return 0; }

    • 1

      下面程序把从终端读入的文本(用@作为文本结束标志)输出到一个名为bi.dat的新文件中。请填空。 #include "stdio.h" FILE *fp; { char ch; if( (fp=fopen ( 【 】 ) )= = NULL)exit(0); while( (ch=getchar( )) !='@') fputc (ch,fp); fclose(fp); }

    • 2

      向磁盘文件18-1.txt中输入一行字符。 #include "stdio.h" #include "stdlib.h" main() {【1】 *fp; char ch; if((fp=fopen("18-1.txt","w"))==NULL) { printf("Cannot open. "); exit(0); } while((ch=getchar())!=' ') fputc( 【2】 ,fp); 【3】 ; }

    • 3

      有以下程序 #include #include main() { FILE*fp; charch,str[5]; if((fp=fopen('file.txt','wb+'))==NULL) { printf('error! '); exit(0); } ch=getchar(); while(ch!='!') { fputc(ch,fp); ch=getchar(); } rewind(fp); fgets(str,4,fp); while(!feof(fp)) { puts(str); fgets(str,4,fp); } fclose(fp); } 程序运行时输入:c:est!,则程序的输出结果是

    • 4

      有以下程序 #include main( ) { char ch[] = "abc"; ch[0] ^= ch[0]; ch[1] |= ch[1]; ch[2] &= ch[2]; printf("%d%c%c\n",ch[0],ch[1],ch[2]); } 程序运行后的输出结果是