C语言初学者-今日一题2024.7.5-文件输入输出函数

<font size=5>题目:把从键盘输入的文本按原样输出到名为file_a.text的文件中,用字符@作为键盘输入结束标志,并将file_a.text中的内容在屏幕上显示出来;</font>

参考答案:

#include <stdio.h>
#include <stdlib.h>     


int main(void)
{
	FILE *file;
	char ch;
	const char* filename = "file_a.txt";
	file = fopen(filename, "w");
	if (file == NULL)
	{
		printf("无法打开文件\n");
		exit(1);
	}
	printf("请输入:\n");

	while ((ch = getchar()) != '@')
	{
		fputc(ch, file);
	}
	printf("输入成功!\n");
	      fclose(file);

      file = fopen(filename, "r");
	if (file == NULL) 
		  {
			  printf("无法打开文件\n");
			  exit(1);
		  }
      printf("文件内容如下:\n");
		
	 while ((ch= fgetc(file)) != EOF)
		  {
			  putchar(ch);
		  }
	       fclose(file);
		  return 0;
}

代码说明

  1. 打开文件写入内容

    • 使用 fopen 函数以写模式 ("w") 打开文件 file_a.txt。如果文件无法打开,程序会输出错误信息并退出。
    • 提示用户输入文本,直到输入 @ 为止。
    • 使用 getchar 从键盘读取字符,并使用 fputc 将字符写入文件。
  2. 关闭文件

    • 使用 fclose 关闭文件。
  3. 打开文件读取内容

    • 使用 fopen 函数以读模式 ("r") 重新打开文件 file_a.txt。如果文件无法打开,程序会输出错误信息并退出。
    • 使用 fgetc 从文件读取字符,并使用 putchar 将字符输出到屏幕。
  4. 关闭文件

    • 使用 fclose 关闭文件。

注意:   1.为了对文件进行使用操作,需要把FILE指针作为一个参数传递给每个标准I/O函数

              2.exit(0);:正常终止程序并返回状态码 0 表示成功,exit(1); 退出,返回状态码 1 表示错误。

             3.while ((ch = getchar()) != '@') 注意这一行 有3个括号,如果不将ch=getchar用括号括起来,会得到乱码。

              4.const 关键字在C语言中用于声明常量或指示一个变量的值在初始化后不能被修改。const 关键字可以用于指针、函数参数、局部变量和全局变量。

             5.在C语言中,EOF(End Of File)是一个宏,它表示文件的结束。在使用文件输入输出时,EOF常用来检测文件是否结束。这里是一个使用EOF检测文件结束的完整程序,它从键盘输入文本,将其写入名为file_a.txt的文件中,用字符@作为输入结束标志,然后将文件file_a.txt中的内容读取并显示在屏幕上。

            6.stdlib.h 是C标准库中的一个头文件,它包含了许多常用的标准库函数,如内存分配、进程控制、转换和数学函数等。在上面的程序中,stdlib.h 主要用于调用 exit 函数以处理错误情况。

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值