文件的介绍,流的概念,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;
}


相关文章
|
20天前
|
算法 C语言
C语言中的文件操作技巧,涵盖文件的打开与关闭、读取与写入、文件指针移动及注意事项
本文深入讲解了C语言中的文件操作技巧,涵盖文件的打开与关闭、读取与写入、文件指针移动及注意事项,通过实例演示了文件操作的基本流程,帮助读者掌握这一重要技能,提升程序开发能力。
62 3
|
28天前
|
存储 人工智能 算法
数据结构实验之C 语言的函数数组指针结构体知识
本实验旨在复习C语言中的函数、数组、指针、结构体与共用体等核心概念,并通过具体编程任务加深理解。任务包括输出100以内所有素数、逆序排列一维数组、查找二维数组中的鞍点、利用指针输出二维数组元素,以及使用结构体和共用体处理教师与学生信息。每个任务不仅强化了基本语法的应用,还涉及到了算法逻辑的设计与优化。实验结果显示,学生能够有效掌握并运用这些知识完成指定任务。
50 4
|
2月前
|
存储 C语言 C++
如何通过指针作为函数参数来实现函数的返回多个值
在C语言中,可以通过将指针作为函数参数来实现函数返回多个值。调用函数时,传递变量的地址,函数内部通过修改指针所指向的内存来改变原变量的值,从而实现多值返回。
|
2月前
|
存储 搜索推荐 C语言
如何理解指针作为函数参数的输入和输出特性
指针作为函数参数时,可以实现输入和输出的双重功能。通过指针传递变量的地址,函数可以修改外部变量的值,实现输出;同时,指针本身也可以作为输入,传递初始值或状态。这种方式提高了函数的灵活性和效率。
|
2月前
利用指针函数
【10月更文挑战第2天】利用指针函数。
19 1
|
2月前
|
算法 搜索推荐 C语言
【C语言篇】深入理解指针4(模拟实现qsort函数)
【C语言篇】深入理解指针4(模拟实现qsort函数)
26 2
|
3月前
|
Linux
在Linux内核中根据函数指针输出函数名称
在Linux内核中根据函数指针输出函数名称
|
4月前
|
程序员 C语言
指针在函数参数和返回值中的使用
指针在函数参数和返回值中的使用
67 9
|
4月前
|
存储 搜索推荐 C语言
C语言中的指针函数:深入探索与应用
C语言中的指针函数:深入探索与应用
|
4月前
|
C++
C++通过文件指针获取文件大小
C++通过文件指针获取文件大小
32 0