【C 语言】文件操作 ( 按照文本行的方式读写文件 | fgets 函数 | fputs 函数 )

文章目录

一、fgets 函数

二、fputs 函数

三、按照文本行的方式写文件

四、按照文本行的方式读文件





一、fgets 函数


fgets 函数 : 从 FILE *stream 指针指向的文件中 , 读取一行文本数据 , 将其存储在 char *str 指针指向的内存空间 , 最多读取 n − 1 n-1n−1 个字符 ;


如果读取的文本行字符个数小于 n − 1 n-1n−1 , 则读取一整行数据 ;

如果读取的文本行字符个数大于 n − 1 n-1n−1 , 则读取 n − 1 n-1n−1 字节数据 ;

#include <stdio.h>
char *fgets(char *str, int n, FILE *stream);





二、fputs 函数


fputs 函数 : 将 const char *str 字符串写出到 FILE *stream 文件指向的文件中 ;


#include <stdio.h>
int fputs(const char *str, FILE *stream);





三、按照文本行的方式写文件


代码示例 :


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/**
 * @brief 主函数入口
 * @return
 */
int main(int argc, char* argv[], char**env)
{
    // 文件指针
    FILE *fp = NULL;
    // 文件路径
    char *filename = "D:/File/file.txt";
    // 循环控制变量
    int i = 0;
    // 以 读写 方式打开 文本文件
    // 文件必须存在 , 如果文件不存在则报错
    fp = fopen(filename, "w+");
    // 将一行字符串写出到文件中
    fputs(filename, fp);
    // 关闭文件
    fclose(fp);
    // 如果没有关闭文件 , 则需要等待文件执行完毕后 , 才能将内存缓存写出磁盘文件中
    // 命令行不要退出
    system("pause");
    return 0;
}


执行结果 :



【C 语言】文件操作 ( 按照文本行的方式读写文件 | fgets 函数 | fputs 函数 )





四、按照文本行的方式读文件


代码示例 :


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/**
 * @brief 主函数入口
 * @return
 */
int main(int argc, char* argv[], char**env)
{
    // 文件指针
    FILE *fp = NULL;
    // 文件路径
    char *filename = "D:/File/file.txt";
    // 接收字符串的数组
    char str[64];
    // 循环控制变量
    int i = 0;
    // 以 读写 方式打开 文本文件
    // 文件必须存在 , 如果文件不存在则报错
    fp = fopen(filename, "r+");
    while (!feof(fp))
    {
        // 从文件中读取一行数据
        char *p = fgets(str , 64, fp);
        if(p != NULL)
        {
            // 打印读取到的文本行
            printf("%s\n", str);
        }
    }
    // 关闭文件
    fclose(fp);
    // 如果没有关闭文件 , 则需要等待文件执行完毕后 , 才能将内存缓存写出磁盘文件中
    // 命令行不要退出
    system("pause");
    return 0;
}


执行结果 :

【C 语言】文件操作 ( 按照文本行的方式读写文件 | fgets 函数 | fputs 函数 )


上一篇:关于网站建设主要流程和步骤(新手指南)


下一篇:关于网站建设主要流程和步骤(新手指南)