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

网友投稿 983 2022-05-28

文章目录

一、fgets 函数

二、fputs 函数

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

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

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

一、fgets 函数

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

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

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

#include char *fgets(char *str, int n, FILE *stream);

1

2

二、fputs 函数

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

#include int fputs(const char *str, FILE *stream);

1

2

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

代码示例 :

#include #include #include /** * @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; }

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

执行结果 :

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

代码示例 :

#include #include #include /** * @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; }

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

执行结果 :

C 语言

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:iOS ipad 开发例子: (美团的界面,大众点评的API)
下一篇:疯狂Java学习笔记(56)------------对象序列化
相关文章