似乎出了点问题。我已经完成了一个图书馆项目,但是某些功能似乎出现了故障 例如:当我选择我的会员列表(如下所示)时,它存在代码。 在C版本中。
void addmember()
{
system("cls");
// creating a FILE variable
FILE *fptr;
// creating a character variable
char ch;
// open the file in write mode
fptr = fopen("username.txt", "w");
// take user input
printf("Enter your name: ");
ch = getchar();
printf("Save any more?(Y / N):");
if(getch()=='n')
mainmenu();
else
system("cls");
addmember();
}
void memberlist(){
char ch;
FILE *fptr;
// open the file in read mode
fptr=fopen("username.txt", "r");
// display the content of the file
printf("\nFile content:\n");
while( (ch = getc(fptr)) != EOF ) {
printf("%c", ch);
}
printf("\nEnd of file\n");
// close file
fclose(fptr);
return 0;
}
答案 0 :(得分:1)
在成员列表中,您是否检查 fopen 是否运作良好? fptr 可能为NULL
addmember()中的几句话:
addmember 在其主体末尾进行调用,这是无条件的递归
对于您fopen("username.txt", "w");
的每次递归调用,都没有用,但是您永远不会关闭文件
一个一个字符,这很可疑