文章目录
一、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; }
执行结果 :
四、按照文本行的方式读文件
代码示例 :
#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; }
执行结果 :