服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - C语言实现按行读写文件

C语言实现按行读写文件

2021-08-05 11:58Ai_King C/C++

这篇文章主要为大家详细介绍了C语言实现按行读写文件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了C语言按行读写文件的具体代码,供大家参考,具体内容如下

?
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
void my_fputs(char* path)
{
 FILE* fp = NULL;
 
 //"w+",读写方式打开,如果文件不存在,则创建\
  如果文件存在,清空内容,再写
 fp = fopen(path, "w+");
 if (fp == NULL)
 {
 //函数参数只能是字符串
 perror("my_fputs fopen");
 return;
 }
 
 //写文件
 char* buf[] = { "this ", "is a test \n", "for fputs" };
 int i = 0, n = sizeof(buf)/sizeof(buf[0]);
 for (i = 0; i < n; i++)
 {
 //返回值,成功,和失败,成功是0,失败非0
 int len = fputs(buf[i], fp);
 printf("len = %d\n", len);
 }
 
 if (fp != NULL)
 {
 fclose(fp);
 fp = NULL;
 }
}
 
void my_fgets(char* path)
{
 FILE* fp = NULL;
 //读写方式打开,如果文件不存在,打开失败
 fp = fopen(path, "r+");
 if (fp == NULL)
 {
 perror("my_fgets fopen");
 return;
 }
 
 char buf[100];//char buf[100] = { 0 };
 while (!feof(fp))//文件没有结束
 {
 //sizeof(buf),最大值,放不下只能放100;如果不超过100,按实际大小存放
 //返回值,成功读取文件内容
 //会把“\n”读取,以“\n”作为换行的标志
 //fgets()读取完毕后,自动加字符串结束符0
 char* p = fgets(buf, sizeof(buf), fp);
 if (p != NULL)
 {
 printf("buf = %s\n", buf);
 printf("%s\n", p);
 }
 
 }
 printf("\n");
 
 if (fp != NULL)
 {
 fclose(fp);
 fp = NULL;
 }
}
 
int main(void)
{
 my_fputs("../003.txt");//上一级地址
 
 my_fgets("../003.txt");
 
 printf("\n");
 system("pause");
 return 0;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/Ai_King/article/details/103099294

延伸 · 阅读

精彩推荐