我们的想法是为学生的成绩创建一个数据库,但我不知道这段代码有什么问题
char bas;
char cadena[100];
FILE *arch, *pagC;
int c;
arch=fopen("alumnos.txt","r");
pagC=fopen("calificaciones.html","w");
/*html tags for a table*/
while(!feof(arch))
{
fprintf(pagC,"<TR>");
while(c!='\n')
{
fscanf(arch,"%[^:]%c",cadena,&bas);
fprintf(pagC,"<TD>%s</TD>",cadena);
}
fprintf(pagC,"</TR> \n");
}
fprintf(pagC,"</TABLE> </CENTER> </BODY> </HTML>");
fclose(pagC);
fclose(arch);
答案 0 :(得分:1)
这意味着:
while(getchar()!='\n')
你正在读char字符char但你对newLine字符不感兴趣 \ n
另外请注意@WhozCraig的重要评论
同样重要的是,换行将终止循环,但无论如何 什么被读,它丢失了。循环延续只意味着它 是的,它不是换行符。此外,getchar()可能正在阅读 stdin,而里面的语句只对文件IO感兴趣。 毋庸置疑,这个循环很奇怪。