c语言无法文件读取exe,c语言问题:第二次打开exe文件的时候始终无法读取数据。。。。。。。,在线秒回。。。。。...

满意答案

00e27ab806e4881f8254fe7ae8741834.png

rkg154

2013.11.11

00e27ab806e4881f8254fe7ae8741834.png

采纳率:44%    等级:12

已帮助:5619人

2个错误;

错误1:

fscanf(fp,"%d",&n[a]);

因为你前面fprintf(fs,"%d\n",n[a]);加了\n,所以应该改为fscanf(fp,"%d\n",&n[a]);

错误2:

FILE *fp=fopen("c:\\data\\class1.txt","r");

FILE *fs=fopen("c:\\data\\class1.txt","wt");

很多情况下只是打开文件没有关闭文件;

FILE *fp;

FILE *fs;

最好改为在case 2:

fp=fopen("c:\\data\\class1.txt","r");

在case 3 :

fs=fopen("c:\\data\\class1.txt","wt");

下面是我改正好的代码:在WINDOWS下可以执行,结果正确;

#include

#include

int menu();

int main()

{

FILE *fp;

FILE *fs;

int a,n[11]={0};

system("md c:\\data");

begin:

switch(menu())

{

case 1:

for(a=1;a<=10;a++)

{

printf("N[%d]=",a);

scanf("%d",&n[a]);

}

goto begin;

case 2:

fs=fopen("c:\\data\\class1.txt","wt");

for(a=1;a<=10;a++)

fprintf(fs,"%d\n",n[a]);

fclose(fs);

printf("Save successful!\n");

goto

begin;

case 3:

fp=fopen("c:\\data\\class1.txt","r");

for(a=1;a<=10;a++)

fscanf(fp,"%d\n",&n[a]);

printf("Readed it!\n");

goto begin;

case 4:

for(a=1;a<=10;a++)

printf("N[%d]=%d\n",a,n[a]);

getch();

goto begin;

case 0:

printf("See you!");

//sleep(1);

}

return 0;

}

int menu()

{

int a=-1;

begin:

system("cls");

printf("************************\n");

printf(" 1. add\n");

printf(" 2. save\n");

printf(" 3. rede\n");

printf(" 4. show\n");

printf(" 0. quit\n");

printf("************************\n");

printf("Enter your choice:");

scanf("%d",&a);

if(a>4||a<0)

{

printf("Input erro!\n");

//sleep(1);

goto begin;

}

return

a;

}

00分享举报

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值