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++ stl迭代器失效的问题

    浅谈c++ stl迭代器失效的问题

    下面小编就为大家带来一篇浅谈c++ stl迭代器失效的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,祝大家游戏愉快哦
    2016-12-12
  • 详解C++中inline关键字的作用

    详解C++中inline关键字的作用

    这篇文章主要为大家介绍了C++中的inline关键字,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • C语言中getchar()的原理以及易错点解析

    C语言中getchar()的原理以及易错点解析

    用getchar()函数读取字符串时,字符串会存储在输入缓冲区中,包括输入的回车字符,下面这篇文章主要给大家介绍了关于C语言中getchar()的原理以及易错点解析的相关资料,需要的朋友可以参考下
    2022-03-03
  • C++OOP对象和类的详细讲解

    C++OOP对象和类的详细讲解

    这篇文章主要介绍了C++面相对象编程中的类与对象的特性与概念,OOP面向对象语言相对C语言这样面相过程的语言来说具有类和对象以及方法这样的特性,需要的朋友可以参考下
    2021-08-08
  • c语言实现数组循环左移m位

    c语言实现数组循环左移m位

    这篇文章主要介绍了c语言实现数组循环左移m位,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • C语言实现图书管理系统课程设计

    C语言实现图书管理系统课程设计

    这篇文章主要为大家详细介绍了C语言实现图书管理系统课程设计,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • C++实现循环队列和链式队列的示例

    C++实现循环队列和链式队列的示例

    下面小编就为大家分享一篇C++实现循环队列和链式队列的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • MFC实现对话框编辑控件上拖拽文件

    MFC实现对话框编辑控件上拖拽文件

    这篇文章主要为大家详细介绍了MFC实现对话框编辑控件上拖拽文件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • 基于C++的拼多多算法在线笔试题示例

    基于C++的拼多多算法在线笔试题示例

    这篇文章主要介绍了基于C++的拼多多算法在线笔试题,列举了四个拼多多的算法笔试题,包括分治法、大数相乘、贪心算法以及迷宫问题,需要的朋友可以参考下
    2017-08-08
  • Matlab控制电脑摄像实现实时人脸检测和识别详解

    Matlab控制电脑摄像实现实时人脸检测和识别详解

    人脸识别过程主要由四个阶段组成:人脸检测、图像预处理、面部特征提取和特征识别。这篇文章主要介绍了如何使用MATLAB控制笔记本电脑的摄像头,并进行实时人脸检测和识别,需要的可以参考一下
    2022-10-10

最新评论