61.#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE* fp;
char ch, filename[10];
printf("please enter file name:");
scanf("%s", filename);
if ((fp = fopen(filename, "w")) == NULL)
{
printf("error");
exit(0);
}
ch = getchar();
printf("Please enter a string to be stored on disk (# end): ");
ch = getchar();
while (ch != '#')
{
fputc(ch, fp);
putchar(ch);
ch = getchar();
}
fclose(fp);
putchar(10);
return 0;
}
62.
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *in,*out;
char ch,infile[10],outfile[10];
printf("输入读入文件的名字:");
scanf("%s",infile);
printf("输入输出文件的名字:");
scanf("%s",outfile);
if((in=fopen(infile,"rb"))==NULL)
{
printf("无法打开文件\n");
exit(0);
}
if((out=fopen(outfile,"wb"))==NULL)
{
printf("无法打开此文件\n");
exit(0);
}
ch=fgetc(in);
while(!feof(in))
{
fputc(ch,out);
putchar(ch);
ch=fgetc(in);
}
putchar(10);
fclose(in);
fclose(out);
return 0;
}
63.
#include<stdio.h>
#define SIZE 10
struct Student_type
{
char name[10];
int num;
int age;
char addr[15];
}stud[SIZE];
void save1()
{
FILE *fp;
int i;
if((fp=fopen("stu_list.dat","wb"))==NULL)
{
printf("cannot open file\n");
return;
}
for(i=0;i<SIZE;i++)
{
if(fwrite(&stud[i],sizeof(struct Student_type),1,fp)!=1)
printf("file write error!\n");
}
fclose(fp);
}
void load2()
{
FILE *fp;
int i;
if((fp=fopen("stu_list.dat","rb"))==NULL)
{
printf("cannot open infile\n");
return;
}
for(i=0;i<SIZE;i++)
{
if(fread(&stud[i],sizeof(struct Student_type),1,fp)!=1)
{
if(feof(fp))
{
fclose(fp);
return;
}
printf("file read error!\n");
}
}
fclose(fp);
}
void save2()
{
FILE *fp;
int i;
if((fp=fopen("stu.dat","wb"))==NULL)
{
printf("cannot open file\n");
return;
}
for(i=0;i<SIZE;i++)
{
if(fwrite(&stud[i],sizeof(struct Student_type),1,fp)!=1)
printf("file write error!\n");
}
fclose(fp);
}
int main()
{
int i;
printf("Please enter data of students:\n");
for(i=0;i<SIZE;i++)
{
scanf("%s%d%d%s",stud[i].name,&stud[i].num,&stud[i].age,stud[i].addr);
}
save1();
load2();
save2();
return 0;
}
64.
#define _CRT_SECURE_NO_DEPRECATE
#include<stdio.h>
#include<stdlib.h>
void writefile(int ch, FILE *fp);
void readfile(int ch, FILE *fp);
int main()
{
FILE *fp; //首先定义文件指针
char ch = 0;
fp = fopen("D:\\f1.txt", "w+");//打开文件,w+表示既可以读取也可以写入
if (fp == 0) //文件打开后需判断是否正确
{
printf("file error\n");
exit(1);
}
writefile(ch, fp);//写
rewind(fp);//rewind函数,把指针移到文件头
readfile(ch, fp);//读
fclose(fp);//关闭
return 0;
}
void writefile(int ch, FILE *fp) //使用函数将键盘键入的字符写入文件,直到遇到字符#为止
{
printf("Enter a text (end with '#'):\n");
ch = getchar();
while (ch != '#')
{
fputc(ch, fp);
ch = getchar();
}
}
void readfile(int ch, FILE *fp) //使用文件读取函数fgetc从该文件中读取字符,并显示出来
{
while ((ch = fgetc(fp)) != EOF)
{
putchar(ch);
}
putchar('\n');
}
65.
#include<stdio.h>
#include<stdlib.h>
struct Student_type
{
char name[10];
int num;
int age;
char addr[15];
}stud[10];
int main()
{
int i;
FILE *fp;
if((fp=fopen("stu.dat","rb"))==NULL)
{
printf("can not open file\n");
exit(0);
}
for(i=0;i<10;i+=2)
{
fseek(fp,i*sizeof(struct Student_type),0);
fread(&stud[i],sizeof(struct Student_type),1,fp);
printf("%-10s %4d %4d %-15s\n",stud[i].name,stud[i].num,stud[i].age,stud[i].addr);
}
fclose(fp);
return 0;
}