主题:各位大侠帮帮忙看看这个课本上的程序有什么问题
这是我C语言课本《A First Book of ANSI C》Fourth Edition 上的一道例题
#include <stdio.h>
#include <stdlib.h>
#define HOLIDAYS 20
int htable[HOLIDAYS];
int main()
{
int getHolidays();
int i,numHolidays;
numHolidays=getHolidays();
printf("The holiday array contains %d elements.\n",numHolidays);
printf("And contains the elements:\n");
for(i=0;i<numHolidays;i++)
printf("%d\n",htable[i]);
getch();
return 0;
}
int getHolidays()
{
char HolidayFile[]="d:\Holiday1.txt";
int i=0;
int mo,day,yr;
FILE *inFile;
inFile=fopen(HolidayFile,"rb+");
if(inFile==NULL)
{
printf("\nFailed to open the file.\n");
getch();
exit(1);
}
while(fscanf(inFile,"%c/%c/%c",&mo,&day,&yr)!=EOF)
htable[i++]=yr*10000+mo*100+day;
fclose(inFile);
return i;
}
而d:\Holiday1.txt 上的内容是:
1/1/2007
1/15/2007
2/19/2007
4/6/2007
4/9/2007
5/5/2007
5/21/2007
5/30/2007
7/1/2007
7/4/2007
9/3/2007
10/8/2007
10/8/2007
11/22/2007
11/25/2007
程序的目的是转换成如下的形式输出:
20070101
........
但我试了,却达不到这个目的。
这是为什么???
--I'am a green hand--
#include <stdio.h>
#include <stdlib.h>
#define HOLIDAYS 20
int htable[HOLIDAYS];
int main()
{
int getHolidays();
int i,numHolidays;
numHolidays=getHolidays();
printf("The holiday array contains %d elements.\n",numHolidays);
printf("And contains the elements:\n");
for(i=0;i<numHolidays;i++)
printf("%d\n",htable[i]);
getch();
return 0;
}
int getHolidays()
{
char HolidayFile[]="d:\Holiday1.txt";
int i=0;
int mo,day,yr;
FILE *inFile;
inFile=fopen(HolidayFile,"rb+");
if(inFile==NULL)
{
printf("\nFailed to open the file.\n");
getch();
exit(1);
}
while(fscanf(inFile,"%c/%c/%c",&mo,&day,&yr)!=EOF)
htable[i++]=yr*10000+mo*100+day;
fclose(inFile);
return i;
}
而d:\Holiday1.txt 上的内容是:
1/1/2007
1/15/2007
2/19/2007
4/6/2007
4/9/2007
5/5/2007
5/21/2007
5/30/2007
7/1/2007
7/4/2007
9/3/2007
10/8/2007
10/8/2007
11/22/2007
11/25/2007
程序的目的是转换成如下的形式输出:
20070101
........
但我试了,却达不到这个目的。
这是为什么???
--I'am a green hand--