C语言实现按行读写文件

 更新时间:2019年11月18日 09:55:43   作者:Ai_King  
这篇文章主要为大家详细介绍了C语言实现按行读写文件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

#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++中的mutable关键字

    一文详解C++中的mutable关键字

    在C++中mutable关键字正如字面意思所示,表示「可变的」之意,一般在以下两种情况中使用较多,一是修饰类中的变量,用来突破const的限制,二是在Lambda表达式中使用,用来捕获修改表达式之外的变量值,下面我们就针对这两种使用场景逐个介绍
    2023-10-10
  • Opencv实现视频播放与进度控制

    Opencv实现视频播放与进度控制

    这篇文章主要为大家详细介绍了Opencv实现视频播放与进度控制,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 详解C语言处理算经中著名问题百钱百鸡

    详解C语言处理算经中著名问题百钱百鸡

    古代的很多数学问题都可以用现代的编程语言去尝试解决,就如本篇,将会带你通过C语言来解决算经中百钱百鸡问题,感兴趣的朋友来看看吧
    2022-02-02
  • C语言简易实现扫雷小游戏

    C语言简易实现扫雷小游戏

    这篇文章主要为大家详细介绍了C语言简易实现扫雷小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • 深度剖析C++对象池自动回收技术实现

    深度剖析C++对象池自动回收技术实现

    今天小编就为大家分享一篇关于深度剖析C++对象池自动回收技术实现,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • strings命令分析浅谈Go和C++编译时的一点小区别

    strings命令分析浅谈Go和C++编译时的一点小区别

    今天小编就为大家分享一篇关于strings命令分析浅谈Go和C++编译时的一点小区别,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • C++虚函数表和虚析构介绍

    C++虚函数表和虚析构介绍

    这篇文章主要介绍了C++虚函数表和虚析构,虚函数表是C++实现多态的基础,多态是面向对象的三大特性之一,下面文章我们一起来看看详细内容,需要的朋友可以参考一下
    2021-11-11
  • C语言图文并茂讲解分支语句用法

    C语言图文并茂讲解分支语句用法

    分支结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。分支结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的分支语句
    2022-04-04
  • C语言 实现N阶乘的程序代码

    C语言 实现N阶乘的程序代码

    本篇文章是对c语言中实现N阶乘的程序代码进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C语言二分查找算法及实现代码

    C语言二分查找算法及实现代码

    本文主要介绍C语言的二分查找算法,这里给大家详细介绍了什么是二分查找,并提供代码实例,需要的小伙伴可以参考下
    2016-07-07

最新评论