• 关于文件


      程序不能长期地存储数据,如果定义一个整型变量,把12赋给它,然后关闭计算机,变量中就不再有12了!所以,必须把数据保存到硬盘上,一旦数据在硬盘上了,它将一直在那里,直到你修改或删除了它。

      硬盘把数据存放在文件(File)中。文件可以存放程序或者数据,程序运行之前必须从硬盘装载到内存中,在数据进入硬盘之前,变量也存放着数据。

      有两种类型的文件:顺序访问(sequential-access)和随机访问(random-access)。他们的类型决定了你可以怎样访问他们。如果处理一个顺序访问文件,那么你得按照数据的顺序读或写文件。在随机访问的文件中,你可以跳跃式地读或写文件的任何位置。

      所有的硬盘文件都有名字,这些名字遵循与程序名字相同的命名规则。无论是创建、读或修改文件中的数据,在能够使用硬盘文件之前,你必须打开文件。计算机把一个叫做文件指针(File pointer)东西关联到文件上并确保合理地设置硬盘以存放指定的文件。

      如何打开顺序文件。先使用fopen()函数,他的描述与printf()的描述一起包含在STDIO.H中。文件指针是存放着正在处理的硬盘文件的硬盘地址。你必须使用一条特殊的语句来定义文件指针。与任何变量一样,可以把文件指针按你喜欢的方式命名。假设你想打开一个雇员文件。在fopen()前面,你必须定义一个文件指针变量。如果文件指针变量命名为fptr,则文件指针定义为:

              FILE*fptr;

      一旦定义了文件指针,就可以用fopen()把指针连接到某个文件。一旦指定了fopen(),你就可以在程序的其他部分使用此文件了。下面是打开名为C:\EMPS.DAT的文件的方法。

      #include<stdio.h>

      FILE *fptr;

      main()

      {  fptr=fopen("C:\\EMPS.DAT","w");

        fclose(fptr);

      }

      在程序的其他部分中,你将通过文件指针访问EMPS.DAT文件,而不是通过文件名访问。在 每次访问文件时,使用文件指针变量比输入文件名和文件完全路径更简单,而且更不容易出错。

      在使用完文件后,要关闭所有打开的文件,否则将丢失数据。fclose()与fopen()刚好相反,在他的括号里,fclose()要求写上想要关闭的文件的指针。

      访问顺序文件。对顺序文件能做三件事——创建、读、写。为了写文件,你可以使用fprintf()。fprintf()很容易使用,因为它只不过是在括号开始处带有文件指针的printf()。下面的程序创建一个文件并用fprintf()写入一些数据:

    #include<stdio.h>

    #include<stdlib.h>

    FILE *fptr;

    int main()

    {

        int age=45;

        float salary=9670.50;

        fptr=fopen("C\\MYDATA.DAT","w");

        if(fptr==0)

        {printf("An error occurred while opening the file.\n");

        exit(1);

        }

        fprintf(fptr,"Here is some stuff:\n");

        fprintf(fptr,"I an %d years old.\n",age);

        fprintf(fptr,"I make $%.2f dollars every three month!\n“,salary);

        fclose(fptr);

        return 0;

    }

      用fgets()读取文件的内容。fgets()只不过是可以定向到硬盘文件的gets().gets()从文件中读取行到字符数组中。把fputs()和fgets()开头处的f看成file.puts()和gets()分别到达屏幕和键盘,fputs()和fgets()从文件中写和读数据。

      

  • 相关阅读:
    PHP 使用 GET 传递数组变量
    Java实现 蓝桥杯 算法训练 数据交换
    Java实现 蓝桥杯 算法训练 数据交换
    Java实现 蓝桥杯 算法训练 数据交换
    Java实现 蓝桥杯 算法训练 景点游览
    Java实现 蓝桥杯 算法训练 景点游览
    Java实现 蓝桥杯 算法训练 景点游览
    Java实现 蓝桥杯 算法训练 二进制数数
    Java实现 蓝桥杯 算法训练 二进制数数
    Java实现 蓝桥杯 算法训练 二进制数数
  • 原文地址:https://www.cnblogs.com/yuezhihua/p/2368820.html
Copyright © 2020-2023  润新知