文件的介绍,流的概念,FILE*指针函数 fgetc fputc fgetcs fputs fscanf fprintf的使用实例及说明

本文介绍了C语言中文件操作的基本概念,包括文件类型、流的概念、常用函数如fopen、fputc、fgetcs和fputs的使用实例,以及如何进行文件的读写操作。通过w、r和a模式展示了文件打开和写入的不同方式。
摘要由CSDN通过智能技术生成

#define _CRT_SECURE_NO_WARNINGS 1 
#include<stdio.h>
//什么是文件?---磁盘上的文件=程序文件+数据文件
//程序文件:源程序文件(.c)目标文件(.obj)可执行文件(.exe)
//数据文件:文件内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,
          //或者输出内容的文件
//文件名:文件路径+文件名主干+文件后缀   
//    例:c:\code\test.txt
//一般不会关心FILE,
// 
 //流的概念
//程序转化成流,流放硬盘,U盘,网络等,。。可以通过程序来操作流,但是流怎么操作硬件不关心
//C语言运行起来,就默认打开三个流:FILE*管理这三个流:
//stdin--标准输入流--键盘
//stdout--标准输出流--屏幕
//stderr--标准错误流--屏幕
// 
// 打开文件部分的替换:
//w,r分别是 r只读 w只写 a追加 rb只读 wb只写 ...(c plus++有)
// 
//写文件部分的替换:
//字符输入函数fgetc适用于所有输入流(一个)
// 字符输出函数fputc适用于所有输出流(一个)
// 文本行输入函数fgetcs适用于所有输入流(一行)
// 文本行输出流函数fputs适用于所有输出流(一行)
// 格式化输入函数fscanf适用于所有输入流函数
// 格式化输出函数fprintf适用于所有输入流函数
// 二进制输入fread适用于文件
//二进制输出fwrite适用于文件
// 写文件部分fputc示例:
//int main()
//{
//    fputc('b', stdout);//stdout---输出
//    fputc('i', stdout);
//    fputc('t', stdout);//bit
//    return 0;
//}
// 写文件部分fgets示例:
// int main()
//{
//int ret = fgetc(stdin);
//printf("%c", ret);//b
//int ret = fgetc(stdin);
//printf("%c", ret);//i
//int ret = fgetc(stdin);
//printf("%c", ret);//t
//return 0;
//}
// 
// 
//总的示例1:  w只写      
//fopen函数---fopen()打开文件
//int main()
//{
//    //打开文件
//    FILE* pf = fopen("test.c", "w");//---"test.c"相对路径
//                                    //----D:\\2021\\test.c---绝对路径
//    //FILE*指针=fopen("文件名+后缀".c","w或者r等等");
//    if (pf == NULL)                //存在打开失败这种情况
//    {
//        perror("fopen");
//            return 1;
//    }
//    //写文件
//
//    //关闭文件
//    fclose(pf);
//    pf = NULL;
//    return 0;
//}
//总的示例2:r 读的形式    fgetc适用于所有输入流(一个)
//int main()
//{
//    //打开文件
//    FILE* pf = fopen("test.c", "r");//r 读的形式
// 
//    if (pf == NULL)   
//    {
//        perror("fopen");
//            return 1;
//    }
//    //读文件
//    int ret=fgetc( pf);//读取正常,返回该字符的ASCII,失败就返回EOF
//    printf("%c", ret);//b
//    int ret = fgetc(pf);
//    printf("%c", ret);//i
//    int ret = fgetc(pf);
//    printf("%c", ret);//t
//    //关闭文件
//    fclose(pf);
//    pf = NULL;
//    return 0;
//}

//总的示例3:w 写的形式    fputs适用于所有输出流(一行)
int main()
{
    //打开文件
    FILE* pf = fopen("test.c", "w");//w 写的形式
 
    if (pf == NULL)   
    {
        perror("fopen");
            return 1;
    }
    //写文件
    fputs("abcdef", pf);
    fputs("qwerty", pf);
    //关闭文件
    fclose(pf);
    pf = NULL;
    return 0;
}

//总的示例4:r 读的形式    fgetcs适用于所有输入流(一行)
int main()
{
    //打开文件
    char arr[10] = { 0 };
    FILE* pf = fopen("test.c", "r");//r 读的形式

    if (pf == NULL)
    {
        perror("fopen");
        return 1;
    }
    //读文件
    fgets(arr,4,pf);
    printf("%s\n", arr);
    fgets(arr, 4, pf);
    printf("%s\n", arr);
    //关闭文件
    fclose(pf);
    pf = NULL;
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力成为焦耳定律鸭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值