C语言的文件操作

简介: C语言的文件操作

一.文件概述

为什么要用到文件呢?

     在编程中我们需要对数据进行录入,存储,修改,文件必不可少。

     通常把数据从磁盘流到内存称为“读”,数据从内存流到磁盘称为“写”。

  一.对于文件的操作我们需要知道如下知识:

  1. 文件的打开
  2. 文件的关闭
  3. 文件的读入
  4. 文件的写入

二.以上操作对应的函数:

1.fopen打开
 
 2.fclose关闭
 
 3.fread读入
 
 4.fwrite写入

二.对应文件操作函数的说明

  1. 文件打开fopen
FILE fopen(char  *filename, char  *mode)

filename:文件名

mode:打开文件的方式

注意:说到打开方式我们需要知道常用的文件打开模式:

<1>对于只写的模式:

<2>.对于只读的模式:

 2.文件的关闭fclose

fclose(fp1);//fp1为文件名字

注意:每次打开一次文件,都需要执行关闭文件的函数

3.文件的读入fread

4.文件的写入write

三.文件样例实现

    我们要求定义一个结构体用于存储学生的基本信息,将基本信息存储到文件名为test.txt文件

中,对其进行访问或输出操作。

1.首先定义结构体:

struct student//结构体名student
{
  char name[50];/*姓名*/
  char num[25];/*学号*/
  float s[2];/*两组成绩*/
}stu;//stu为结构体变量名

2.在主函数里的相关操作:

<1>.定义文件指针变量fp1

FILE *fp1;

定义方法:FILE *文件名

<2>.打开文件fp1

fp1=fopen("d:\\test.txt","wb");

<3>.判断文件fp1是否打开成功

if(fp1==NULL)
  {
  printf("cannot open!");
  exit(0);
  }

<2><3>联立可以写成:

if ((fp1 == fopen("d:\\test.txt", "wb") == NULL))
  { 
    printf("cannot open");
    exit(0);
  }

<3>.关闭文件fp1

fclose(fp1);

<4>.写入文件fp1

fwrite(&stu,sizeof(stu),1,fp1);

<5>.读取文件fp1

fread(&stu,sizeof(stu),1,fp1);

代码演示:

#include<stdio.h>
#include<stdlib.h>
struct student//结构体名student
{
  char name[50];/*姓名*/
  char num[25];/*学号*/
  float s[2];/*两组成绩*/
}stu;
int main()
{
  FILE *fp1;//定义文件指针
  int i;
  
  fp1 = fopen("d:\\test.txt", "wb");
  if (fp1 == NULL)
  {
    printf("cannot open");
    exit(0);
  }
  printf("input from file:\n");
  for (i = 0; i < 2; i++)
  {
    scanf("%s%s%f%f", stu.name, stu.num, &stu.s[0], &stu.s[1]);
    fwrite(&stu, sizeof(stu), 1, fp1);
  }
  fclose(fp1);
  if ((fp1 == fopen("d:\\test.txt", "rb") == NULL))
  { 
    printf("cannot open");
    exit(0);
  }
  printf("output from file:\n");
  for (i = 0; i < 2; i++)
  {
    fread(&stu, sizeof(stu), 1, fp1);
    printf("%s  %s  %7.2f  %7.2f\n", stu.name, stu.num, stu.s[0], stu.s[1]);
  }
  fclose(fp1);
  return 0;
}


目录
相关文章
|
6天前
|
存储 C语言
C语言文件操作(2)
【10月更文挑战第2天】
|
3天前
|
程序员 编译器 C语言
C语言底层知识------文件操作
本文详细介绍了文件操作的基本概念,包括文件的分类(程序文件和数据文件,其中着重于数据文件的文本文件和二进制文件),流的概念及其在C程序中的应用,以及标准输入输出流stdin、stdout和stderr的作用。作者通过示例展示了如何使用fopen、fclose和常见的读写函数如fgetc、fputc和fgets进行文件操作。
11 2
|
26天前
|
C语言
C语言——文件操作
本文介绍了文件的基本操作,包括文件的打开、关闭、读取和写入。使用`fopen`函数以不同模式(如“r”、“w”等)打开文件,并通过`fclose`关闭。文章详细解释了如何利用`fputc`、`fputs`及`fprintf`进行格式化写入,同时介绍了`fgetc`、`fgets`和`fscanf`用于文件内容的读取。此外,还涵盖了二进制文件的读写方法以及如何通过`fseek`、`ftell`和`rewind`实现文件的随机访问。
40 1
C语言——文件操作
|
6天前
|
存储 缓存 编译器
文件操作——C语言
文件操作——C语言
|
1天前
|
存储 文件存储 C语言
深入C语言:文件操作实现局外影响程序
深入C语言:文件操作实现局外影响程序
|
7天前
|
存储 程序员 编译器
C语言文件操作(1)
【10月更文挑战第1天】
|
8天前
|
存储 移动开发 Unix
C 语言文件操作详解
C 语言文件操作详解
|
1月前
|
存储 C语言
C语言程序设计核心详解 第十章:位运算和c语言文件操作详解_文件操作函数
本文详细介绍了C语言中的位运算和文件操作。位运算包括按位与、或、异或、取反、左移和右移等六种运算符及其复合赋值运算符,每种运算符的功能和应用场景都有具体说明。文件操作部分则涵盖了文件的概念、分类、文件类型指针、文件的打开与关闭、读写操作及当前读写位置的调整等内容,提供了丰富的示例帮助理解。通过对本文的学习,读者可以全面掌握C语言中的位运算和文件处理技术。
|
2月前
|
C语言
【C语言篇】文件操作(下篇)
因为有缓冲区的存在,C语⾔在操作⽂件的时候,需要做刷新缓冲区或者在⽂件操作结束的时候关闭⽂ 件。如果不做,可能导致读写⽂件的问题。
44 2
|
2月前
|
存储 API 数据处理
C语言中的文件操作
C语言中的文件操作
70 0