用fgetc函数从键盘逐个输入字符,然后用fputc函数写到磁盘文件中

1 题目

功能:

描述:

用 fgetc 函数从键盘逐个输入字符,然后用 fputc函数写到磁盘文件即可

2 思路

用来存储数据的文件名可以在fopen函数中直接写成字符串常量形式(如指定"1"),也可以在程序运行时由用户临时指定。本程序采取的方法是由键盘输入文件名。为此设立一个字符数组filename,用来存放文件名。运行时,从键盘输入磁盘文件名"ex043_file.dat", 操作系统就新建立一个磁盘文件ex043_file.dat,用来接收程序输出的数据

用fopen函数打开一个"只写"的文件("w"表示只能写入不能从中读数据),如果打开文件成功,函数的返回值是该文件所建立的信息区的起始地址,把它赋给指针变量fp(fp已定义为指向文件的指针变量)。如果不能成功地打开文件,则在显示器的屏幕上显示"无法打开此文件",然后用exit函数终止程序运行

exit是标准C的库函数,作用是使程序终止,用此函数时在程序的开头应包含 头文件

用getchar函数接收用户从键盘输入的字符。注意每次只能接收一个字符。今输入字符串"公众号:计算广告生态"是用来向程序表示:输入的字符串到此结束。用什么字符作为结束标志是人为的,由程序指定的,也可以用别的字符(如或其他字符)作为结束标志。但应注意:如果字符串中包含"#",就不能用"# "作结束标志

执行过程是:先从键盘读入一个字符,检查它是否如果是,表示字符串已结束,不执行循环体。如果不是'#',则执行一次循环体,将该字符输出到磁盘文件filel.datₒ然后在屏幕上显示出该字符,接着再从键盘读入一个字符。如此反复,直到读入'#'字符为止。这时,程序已将"公众号:计算广告生态"写到以"filel. dat"命名的磁盘文件中了,同时在屏幕上也显示出了这些字符,以便核对。

ex043_file.dat 中是否确实存储了这些内容,可以在资源管理器中,按记事本的打开方式打开文件,或者在其他系统有其他查看方式

3 代码

#include

#include

/**

功能:关闭所有打开的文件

描述:

用 fgetc 函数从键盘逐个输入字符,然后用 fputc函数写到磁盘文件即可

**/

intmain(intargc,charconst*argv[]) {

  FILE*fp;

  charch,filename[10];

  printf("请输入要操作的文件名:\n");

  scanf("%s",filename);

  if((fp=fopen(filename,"w"))==NULL) { // 打开输入文件并使 fp 指向此文件 

    printf("无法打开此文件!\n");

    exit(0);                  // 终止程序

  }

  ch=getchar();              // 用来接收最后输入的回车符

  printf("请输入一个准备存储到磁盘的字符串(以'#'结束)\n");

  ch=getchar();              // 用来接收从键盘输入的第一个字符

  while(ch!='#') {          // 当输入"#"时结束循环

    fputc(ch,fp);              // 用来向磁盘输出第一个字符

    putchar(ch);                // 将输出的字符显示在屏幕上

    ch=getchar();            // 接收从键盘输入的一个字符

  }

  fclose(fp);                  // 关闭文件

  putchar(10);                  // 向屏幕输出一个换行符

  return0;

}

示例结果:

$ gccex043.c-odemo

$ ./demo

请输入要操作的文件名:

ex043_file.dat

请输入一个准备存储到磁盘的字符串(以'#'结束)

公众号:计算广告生态

公众号:计算广告生态

#

文件中的显示:

ex043_file.dat:

公众号:计算广告生态

你可能感兴趣的:(用fgetc函数从键盘逐个输入字符,然后用fputc函数写到磁盘文件中)