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

简介: 文件的介绍,流的概念,FILE*指针函数 fgetc fputc fgetcs fputs fscanf fprintf的使用实例及说明
#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;
}


相关文章
|
1月前
|
C语言
【C语言】指针进阶之sizeof和strlen函数的对比
【C语言】指针进阶之sizeof和strlen函数的对比
|
24天前
|
搜索推荐 C语言 C++
【C指针(五)】6种转移表实现整合longjmp()/setjmp()函数和qsort函数详解分析&&模拟实现3
【C指针(五)】6种转移表实现整合longjmp()/setjmp()函数和qsort函数详解分析&&模拟实现
|
3月前
二级指针和指针函数
二级指针和指针函数
19 0
|
4天前
|
存储 C语言
指针数组作为main函数的形参
指针数组作为main函数的形参
12 0
|
1月前
|
安全 C语言 C++
字符指针做函数参数
字符指针做函数参数
9 1
|
1月前
|
安全 C语言
字符指针作函数参数的深入探索
在C语言编程中,字符指针是一个重要的概念,尤其在处理字符串和文本数据时。当我们将字符指针作为函数参数时,可以实现多种灵活和高效的操作。本文将深入探讨字符指针作为函数参数的应用,并通过代码示例加以说明。
14 1
|
1月前
|
存储 Shell C语言
指针数组组main函数的形参
指针数组组main函数的形参
10 0
|
1月前
|
C语言 C++
指针变量作为函数参数
指针变量作为函数参数
8 1
|
1月前
|
存储 Serverless 编译器
怎样定义和使用指向函数的指针变量
怎样定义和使用指向函数的指针变量
8 0
|
1月前
|
C++
用指向指针函数作函数参数
用指向指针函数作函数参数
8 1