C语言之文件处理(fputc fgetc函数的使用)上篇

字符输入输出函数fgetc,fputc,他们能够完成一个字符在磁盘文件中的读出与写入。
int fputc(int ch,FILE*steam);
int fgetc(FILE*steam);
上述两个函数的返回值均为整型。fputc函数返回一个向文件所写字符的值,此时写操作成功,否则返回EOF(文件结束符,其值为-1,在stdio.h中定义)表示操作些错误。fgetc函数返回文件当前位置的一个字符的ASCII值,在读操作遇到文件结束符时,函数返回一个文件结束标志EOF

这里写代码片
# include<stdio.h>
#define CTRLS 19     /*组合键CTRL+s的值为19*/
int  main()
{   
    FILE*fp;
    char ch; 
   //if((fp=fopen("E:\计算机软件\awe.txt","r"))==NULL)——错误的路径格式 
  if((fp=fopen("E:\\计算机软件\\awe.txt","w"))==NULL)//以只写打开文件,注意文件路径的书写格式
    {
        printf("Cannot open this file\n");
        return 0; 
    }
    while(1)
    {

    //  clrscr();
        system("cls");//记得清屏,否则会出错 
        ch=getchar();
        if(ch==CTRLS)//判断输入的字符是否为Ctrl+c键
        {
           if(fclose(fp))printf("File close error!\n");//关闭文件
           exit(0);

        }
        putchar(ch);
        if(fputc(ch,fp)==-1)
        {
            printf("File write error!\n");
            exit(0);
        }
    }



}

在运行程序之前,文件内容为空,如下图:
这里写图片描述
程序运行时,输入asd qwe与Crtl+c键后退出
这里写图片描述
记事本显示如下内容:
这里写图片描述
特别注意:
1.每次运行程序写入数据时,上一次的文件内容都会清空。
而如果用 if((fp=fopen(“E:\计算机软件\awe.txt”,”a”))==NULL)将w改为a,则是在尾部接着写入数据。
2.注意代码中的system(“cls”);很重要,省略之后可能会出错。
3.在程序运行窗口下进行输入,先输入Ctrl+s键然后再按回车键才可以结束。
4.解释一下为什么组合键的值是19
ctrl+?,其中?代表字母,字母的顺序是多少,值就是多少,比如c的话就是3,s的话就是19(这一点可能不正确,有待深入考究)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值