c语言程序设计!怎样用程序修改文件(txt文档)里面的内容!?(需要代码,不仅仅是解说)
例如:有一个文件,文件里面储存的有几个课程,其中有课程的编号、名称、性质等!其中一门课程的性质需要修改,或者另一门课程的名称要修改,该怎么弄?#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct kechen
{
int bianhao; //课程编号
char minchen[11]; //课程名称)
char xinzhi[5]; //(必修 选修)课程性质
int xueshi; //课程总学时
int xueshi1; //课程授课学时
int xueshi2; //课程实验或者上机学时
float xuefen; //课程学分
char xueqi[7]; //开课的学期)
char shijian[10]; // 上课时间
int renshu; //人数上限
};
void kechen_luru();//(输入1)录入课程
int main(void)
{
FILE *fp;
int num,j=0,i=0;
float xuefeng;
struct kechen luru[1000];
if((fp=fopen("文件.txt","a+"))==NULL)
{
printf("cannot open this file\n");
exit(0);
}
printf("输入要修改的课程编号:");
scanf("%d",&num);
while(num!=0)//不想修改了就输入0
{
while(!feof(fp))
{
// fread(&luru[j],sizeof(struct kechen),1,fp);
fscanf(fp, "%d %s %s %d %d %d %f %s %s %d\n", &luru[j].bianhao, luru[j].minchen, luru[j].xinzhi, &luru[j].xueshi, &luru[j].xueshi1,
&luru[j].xueshi2, &luru[j].xuefen, luru[j].xueqi, luru[j].shijian, &luru[j].renshu);
if(num==luru[j].bianhao)
{
i++;
printf("此编号现有信息:\n %d %s %s %d %d %d %.1f %s %s %d\n", luru[j].bianhao, luru[j].minchen, luru[j].xinzhi, luru[j].xueshi, luru[j].xueshi1,
luru[j].xueshi2, luru[j].xuefen, luru[j].xueqi, luru[j].shijian, luru[j].renshu);
printf("\n");
printf("输入修改的信息:\n");
printf(" 编号:");
scanf("%d",&luru[i].bianhao);
printf(" 名称:");
scanf("%s",luru[i].minchen);
printf(" 性质:");
scanf("%s",luru[i].xinzhi);
printf(" 总学时:");
scanf("%d",&luru[i].xueshi);
printf(" 授课学时:");
scanf("%d",&luru[i].xueshi1);
printf(" 实验或上机学时:");
scanf("%d",&luru[i].xueshi2);
printf(" 学分:");
scanf("%f",&xuefeng);luru[i].xuefen=xuefeng;
printf(" 开课学期:");
scanf("%s",luru[i].xueqi);
printf(" 上课时间:");
scanf("%s",luru[i].shijian);
printf(" 人数上限:");
scanf("%s",&luru[i].renshu);
//到这下面就不会了!
fprintf(fp, "%d %s %s %d %d %d %.1f %s %s %d\n", luru[j].bianhao, luru[j].minchen, luru[j].xinzhi, luru[j].xueshi, luru[j].xueshi1,
luru[j].xueshi2, luru[j].xuefen, luru[j].xueqi, luru[j].shijian, luru[j].renshu);
}
j++;
}
if(i==0)
{
printf("没有此课程,请重新输入编号!\n");
}
printf("\n");
printf("输入要修改的课程编号:");
scanf("%d",&num);//不想修改了就输入0
j=0;
i=0;
}
fclose(fp);
return 0;
}
void kechen_luru()
{
}