一.文件的操作步骤
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;
}
这节课先到此为止