C语言中的各种文件读写方法小结

C语言中的各种文件读写方法小结

常用的文件打开模式

在C语言中,我们进行文件读写操作时需要调用fopen函数打开文件,并传入文件打开模式参数。常用的文件打开模式如下:

  • "r" : 只读模式,打开文件用于读取。如果文件不存在,打开文件失败并返回NULL。
  • "w" : 写入模式,打开文件用于写入。如果文件不存在,则创建新文件。如果文件已存在,该模式会将文件全部内容删除,再进行写入。
  • "a" : 追加模式,打开文件用于写入,文件指针将会定位到文件的末尾。如果文件不存在,则创建新文件。
  • "rb" : 二进制文件读取模式
  • "wb" : 二进制文件写入模式
  • "ab" : 二进制文件追加模式

从文件中读取数据

在C语言中读取文件数据的函数是fread。函数原型如下:

size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
  • ptr:指向要读取内容存储的位置
  • size:每个数据类型占用的字节数
  • count:要读取的数据类型数量
  • stream:要读取的文件

读取文本文件示例代码如下:

#include <stdio.h>
#include <stdlib.h>

#define DATA_SIZE 100

int main(void) {
    FILE *fp;
    char str[DATA_SIZE];

    fp = fopen("input.txt", "r");
    if (fp == NULL) {
        printf("Failed to open file input.txt\n");
        return 1;
    }

    while (fgets(str, DATA_SIZE, fp) != NULL) {
        printf("%s", str);
    }

    fclose(fp);
    return 0;
}

写入数据到文件中

在C语言中写入数据到文件的函数是fwrite。函数原型如下:

size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
  • ptr:指向要写入内容存储的位置
  • size:每个数据类型占用的字节数
  • nmemb:要写入的数据类型数量
  • stream:要写入的文件

写入文本文件示例代码如下:

#include <stdio.h>

int main(void) {
    const char data[] = "This is a test data.\n";
    FILE *fp;

    fp = fopen("output.txt", "w");
    if (fp != NULL) {
        fwrite(data, sizeof(char), sizeof(data) / sizeof(char), fp);
        fclose(fp);
    }

    return 0;
}

使用fgetc和fputc函数进行文件读写

除了上述的fread和fwrite函数外,C语言还提供了fgetc和fputc函数用于读取和写入单个字符。

读取单个字符示例代码如下:

#include <stdio.h>

int main(void) {
    char ch;
    FILE *fp;

    fp = fopen("input.txt", "r");
    if (fp != NULL) {
        while ((ch = fgetc(fp)) != EOF) {
            putchar(ch);
        }
        fclose(fp);
    }

    return 0;
}

写入单个字符示例代码如下:

#include <stdio.h>

int main(void) {
    char ch;
    FILE *fp;

    fp = fopen("output.txt", "w");
    if (fp != NULL) {
        while ((ch = getchar()) != EOF) {
            fputc(ch, fp);
        }
        fclose(fp);
    }

    return 0;
}

以上就是C语言中的文件读写方法的详细讲解。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言中的各种文件读写方法小结 - Python技术站

(0)
上一篇 2023年6月26日
下一篇 2023年6月26日

相关文章

  • Spring源码之循环依赖之三级缓存详解

    下面是对”Spring源码之循环依赖之三级缓存详解”的完整攻略: 什么是循环依赖 循环依赖指的是对象之间出现相互依赖的情况,通常是两个或多个对象互相持有对方的引用,从而导致它们之间出现循环依赖的问题。在Spring框架中,循环依赖的问题通常在bean的创建过程中出现。 三级缓存解决循环依赖问题 Spring框架为了解决bean之间的循环依赖问题,设计了三级缓…

    other 2023年6月27日
    00
  • 分享几种常见WEB服务器配置方案

    分享几种常见WEB服务器配置方案的攻略如下: 常见WEB服务器 在开始配置方案之前,我们需要先了解常见的WEB服务器类型。常见的WEB服务器有 Apache、Nginx、IIS 等。在选择服务器时,需要考虑服务器的稳定性、性能、功能支持等因素。 Apache 配置方案 安装Apache 在Linux操作系统中,我们可以使用以下命令安装Apache: sudo…

    other 2023年6月27日
    00
  • Golang初始化MySQL数据库方法浅析

    Golang初始化MySQL数据库方法浅析 在 Golang 开发中,MySQL 数据库广泛使用,因此如何初始化 MySQL 数据库是初学者需要掌握的重要知识点之一。本文将介绍两种常见的初始化 MySQL 数据库的方法。 方法一:使用 Golang 官方库实现 Golang 官方库提供了 database/sql 和 sql 等库,可以使用这些库来连接和操作…

    other 2023年6月20日
    00
  • js删除数组中指定元素的几种方式

    JS删除数组中指定元素的几种方式 在JavaScript中,删除数组中特定元素有多种方法,本文将详细介绍这些方法。 方法一:使用splice()方法 splice()方法可以删除数组中指定位置(索引)的元素,并返回已删除元素的数组。 语法: arr.splice(start, deleteCount, item1, item2, …) 参数: start…

    other 2023年6月25日
    00
  • 工信部备案网站的备用查询网址(IP)

    工信部备案网站的备用查询网址(IP)攻略 1. 简介 工信部备案网站是中国工业和信息化部(简称工信部)负责管理的一个网站,用于企业和个人进行备案申请和查询。然而,由于网络环境的不稳定性,有时候该网站可能无法正常访问。为了解决这个问题,可以通过备用查询网址(IP)来访问工信部备案网站。 2. 获取备用查询网址(IP) 要获取工信部备案网站的备用查询网址(IP)…

    other 2023年7月31日
    00
  • ASP常见错误详解及解决方案小结 推荐第1/2页

    下面我来为您详细讲解“ASP常见错误详解及解决方案小结 推荐第1/2页”的完整攻略。 1. 文章概述 该文介绍了 ASP 开发过程中常见的错误,并提供了相应的解决方案。主要包括以下几个方面: ASP 代码编写错误 IIS 服务器配置错误 数据库连接及操作错误 Windows 系统权限及组件问题 2. ASP代码编写错误 错误:VBScript 特殊符号错误 …

    other 2023年6月26日
    00
  • 手机usb接口dp&dm协议识别信号解析

    手机USB接口DP&DM协议识别信号解析攻略 手机USB接口DP&DM协议识别信号解析是指通过分析手机USB接口上的DP和DM信号来判断手机当前所处的工作模式。下面是一个完整的攻略,包括DP&DM信号的定义、工作模式的方法、以及两个示例说明。 DP&DM信号的定义 DP和DM信号是USB接口上的两个差信号,用于传输数据。在手机…

    other 2023年5月7日
    00
  • 一步一步学android控件(之十六)——checkbox

    一步一步学Android控件(之十六)——CheckBox CheckBox是一个常见的Android控件,可以用于实现单选和多选。在本文中,我们将分步骤介绍如何使用CheckBox控件。 创建CheckBox 要创建一个CheckBox,可以在XML布局文件中使用<CheckBox>元素: <CheckBox android:id=&qu…

    其他 2023年3月28日
    00
合作推广
合作推广
分享本页
返回顶部