作者a95297 (2+2=0)
看板C_and_CPP
标题[问题] compiler有过可是run的时候会错误@@?
时间Tue Feb 3 17:13:49 2009
这这~小弟这个程式很鬼异~过年前跑的时候好好的~
结果刚刚跑的时候却出现错误!!
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main()
{
FILE *TimeList;
int i=0,k=0,m=0;
float CompareStart_Time[10000],CompareOff_Time[10000];
char Singer[10000];
TimeList=fopen("TimeList_1000.txt","r");
while( (fscanf(TimeList,"%f %f %s",&CompareStart_Time[k],
&CompareOff_Time[k],&Singer[m]))!=EOF){ <==这边和while那行是同一行~
碍於板面所以在这边换行!!
k++;
m+=6;
}
printf("QQQQQ\n");
fclose(TimeList);
}
请问我有哪边有弄错吗? 跑到while那行C就跳出 红色XX的视窗!!
另外想请问一下大家~小弟用的是VC6 因为是接之前学长的电脑关系~
有看到板友说要去抓一些关於VC6的更新档更新~请问是要去哪边抓勒?
是Microsoft吗? 有好心人士可以提供一下网址吗?
谢谢罗!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.124.72.230
1F:推 ledia:compile 有过和执行正不正确是两码子事 02/03 17:32
2F:→ ledia:你的执行目录下有 TimeList_1000.txt 吗? 02/03 17:33
3F:→ a95297:有!! 02/03 17:38
4F:推 ledia:开档完要检查 TimeList 是不是 NULL, 还有要看资料是否太多 02/03 17:42
5F:推 po953:Singer[]是char一维阵列 所以应该用%c吧不是%s 02/03 18:39
6F:推 ledia:给楼上, 他用的没错, 有取址, 而且一次跳三格, 猜测一笔资料 02/03 23:27
7F:→ ledia:只有五个字元长 (否则会出错) 02/03 23:27
8F:→ ledia:不是跳三格... 是跳六格 ... 我手打的跟脑袋里想的不一样= = 02/03 23:28
9F:→ a95297:l大真明白我的意思~话说还是没人回答我的问题!! 02/04 12:37
10F:推 ledia:我有回啦, 看看开档是否成功检查 TimeList 是不是 NULL 02/04 13:08
11F:→ ledia:确认资料有没有过多, 检查 m, k 的值有没有超过 10000 02/04 13:08
12F:→ ledia:while 那行出错, 大致上就这两个可能的问题了吧... 02/04 13:09
13F:→ a95297:TimeList里面确实有东西~总数也都没有超过10000~所以我才觉 02/04 13:57
14F:→ a95297:得很奇怪~为啥过个年回来会错!! 用Dev-c去好却没有错误!! 02/04 13:57
15F:推 HudsonE:k 没超过 10000 不代表 m 没超过 10000 呀... 02/04 18:14
16F:→ a95297:自己发现了~txt档读进来的是字元~不能直接用float去读@@~都 02/04 22:05
17F:→ a95297:没注意到~很谢谢大家的帮忙^^ 02/04 22:06