1.fgetc(FILE *fp);
从fp指向的文件输入一字节代码
2.fputc(int c,FILE *fp);
fp指向的文件读取一字节代码
3.puchar(int c);
输出一段字符
4.getchar(void);
读取字符输入一个字符
5.fopen("filename",r/w);读或者写;
6.int feof();
判断文件是否结束;
用于两文件的复制;
feof(FILE*fp);
7.fwrite();
fwrite(&stu[i],sizeof(struct student),1,fp);
8.fread();
fread(&stu[i],sizeof(struct student),1,fp);
9.//写入fscanf(stdin,"%d",&s);
fprintf(fp,"%d",s);
//读取显示在屏幕
fscanf(fp,"%d",&s);
fprintf(stdout,"%d",s);
10.fgets(string,64,fp);
fputs(string,stdout);
11.rewind( fp);
重置文件位置
12.fseek(fp,0L,0);
fseek(fp,I*SIZEOF(struct student),0);
13.ftell(fp);
长度
1..例对一个磁盘文件进行显示和复制两次操作
#include <stdio.h>
int main()
{
FILE *fp1,*fp2;
fp1=fopen("d:\\fengyi\\bkc\\ch12_4.c","r");
fp2=fopen("d:\\fengyi\\bkc\\ch12_41.c","w");
while(!feof(fp1))
putchar(getc(fp1));
rewind(fp1);
while(!feof(fp1))
putc(getc(fp1),fp2);
fclose(fp1);
fclose(fp2);
return 0;
}
2.磁盘文件上有3个学生数据,要求读入第1,3学生数据并显示
<span style="color:#330000">#include <stdio.h>
struct student_type
{ int num;
char name[10];
int age;
char addr[15];
}stud[3];
int main()
{
int i;
FILE *fp;
if((fp=fopen("studat","rb"))==NULL)
{
printf("can't open file\n");
exit(0);
}
for(i=0;i<3;i+=2)
{
fseek(fp,i*sizeof(struct student_type),0);
fread(&stud[i],sizeof(struct student_type),1,fp);
printf("%s %d %d %s\n",
stud[i].name,stud[i].num,stud[i].age,stud[i].addr);
}
fclose(fp);
return 0;
} </span>
3.求文件长度
<span style="color:#330000">#include"stdio.h"
int main()
{
FILE *fp;
char filename[80];
long length;
gets(filename);
fp=fopen(filename,"rb");
if(fp==NULL)
printf("file not found!\n");
else
{
fseek(fp,0L,SEEK_END);
length=ftell(fp);
printf("Length of File is %1d bytes\n",length);
fclose(fp);
}
return 0;
} </span>
4.例:从键盘读入字符串存入文件,再从文件读回显示
#include<stdio.h>
int main()
{
FILE *fp;
char string[81];
if((fp=fopen("file.txt","w"))==NULL)
{
printf("cann't open file");
exit(0);
}
while(strlen(gets(string))>0)
{ fputs(string,fp);
fputs("\n",fp);
}
fclose(fp);
if((fp=fopen("file.txt","r"))==NULL)
{
printf("cann't open file");
exit(0);
}
while(fgets(string,81,fp)!=NULL)
fputs(string,stdout);
fclose(fp);
return 0;
}
5.例 从键盘输入字符,逐个 存到磁盘文件中,直到 输入‘#“为止
#include <stdio.h>
int main()
{
FILE *fp;
char ch,*filename="out.txt";
if((fp=fopen(filename,"w"))==NULL) //打开文件失败
{
printf("cannot open file\n");
exit(0);
}
printf("Please input string:");
ch=getchar();
while(ch!='#')
{
fputc(ch,fp);
putchar(ch);
ch=getchar();
}
fclose(fp); //操作完后一定要关闭文件,一面数据丢失
return 0;
}