#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;
}
C语言 按行读写文件
最新推荐文章于 2023-01-09 04:07:36 发布