一.文件的操作步骤

1.定义文件指针变量

2.打开文件

3.对文件进行读或写

4.关闭文件

例:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    FILE *fp;//定义文件指针变量fp
    int i,d;

    fp=fopen("data.txt","w");//打开文件的操作,这里引号内是文件名,后面w是表示我们要进行写的操作,返回的值赋给fp
    if(fp==NULL)//判断是否成功打开文件,没成功则返回NULL,执行if内的操作
    {
        printf("File cannot open!");
        exit(0);//退出程序执行
    }
    for(i=0;i<10;i++)
    {
        scanf("%d",&d);
        fprintf(fp,"%d\t",d);//fprintf表示文件输出格式为fprintf(文件指针,"输出格式字符串",输出表列)
    }
    fclose(fp);//最后我们关闭文件
    return 0;
}



概述:

一、打开文件

作用:将文件信息从磁盘装入计算机内存,建立与文件有关的信息,建立文件指针与文件名之间的关联

形式:文件指针变量名=fopen(文件名,使用方式)

例:fp=fopen("date.txt","w")

例2:

FILE *fp
fp=fopen("c:\\date.txt","w")//这里有俩个斜杠,因为c语言里斜杠作为转义字符,如果我们要输出,用双斜杠输出一个斜杠
if(fp==NULL)
{
	printf("File cannot open!");
	exit(0);
}

使用文件的方式说明:

“r”表示只读,为输入打开一个文本文件

“w”表示只写,为输出打开一个文本文件

“a”表示追加,向文本尾部追加输入数据

暂时我们只介绍文本文件的顺序读写


文件打开的结果:

1.成功:返回值为file类型的指针

2.失败:返回NULL

所以我们可以用来判断文件是否成功打开

二、

使用写文件方式之一-----格式化输出

分析代码:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    FILE *fp;
    int i,No;
    float salary;
    fp=fopen("data.csv","w");
    if(fp==NULL)
    {
        printf("File cannot open!");
        exit(0);
    }
    //输入5名员工的工号和工资,并保存到文件中
    for(i=1;i<=5;i++)
    {
        scanf("%d %f",&No,&salary);
        fprintf(fp,"%d,%.2f\n",No,salary);//在文本中输入
    }
    fclose(fp);
    return 0;
}

实用读文件方式之一-----格式化输入

代码分析:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    FILE *fp;
    int i,No;
    float salary;
    fp=fopen("data.csv","r");
    if(fp==NULL)
    {
        printf("File cannot open!");
        exit(0);
    }
    //输入5名员工的工号和工资,并保存到文件中
    for(i=1;i<=5;i++)
    {
        fscanf(fp,"%d,%f",&No,&salary);
        printf("%d\t%.2f\n",No,salary);
    }
    fclose(fp);
    return 0;
}

实用写文件方式之一-------将字符写入文件

1.函数原型: int fputc(int ch,FILE *fp)

2.功能:把字符ch写到fp指向的磁盘文件中去

3.函数返回值:

成功:返回值就是输入的字符

失败:返回一个EOF(-1)

代码分析:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    FILE *fp;
    char c;
    fp=fopen("data.txt","w");
    if(fp==NULL)
    {
        printf("File cannot open!");
        exit(0);
    }
    while((c=getchar())!=EOF)
        fputc(c,fp);
    fclose(fp);
    return 0;
}

实用读文件方式之一------从文件中读取字符

1.函数原型:int fgetc(FILE *fp)

2.函数功能:

从文件指针fp指向的文件当前位置(位置指针)读出一个字符,然后文件位置指针自动后移,指向文件中的下一个字符,返回值为读入的字符

若遇到文件结束符,则返回结束符EOF(-1)

代码分析:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    FILE *fp;
    char c;
    fp=fopen("data.txt","r");
    if(fp==NULL)
    {
        printf("File cannot open!");
        exit(0);
    }
    while((c=fgetc(fp))!=EOF)
        putchar(c);
    fclose(fp);
    return 0;
}

这节课先到此为止