你要保证在文件打开后才fclose();很明显你上面的代码就有问题:
fclose(fpSaveTxt);/*这句被你放到if(fpSaveTxt=fopen("history1.dat","w+"))
{
...
}之外了,这样是相当不安全的。你保存的文件时有时无可能就是由此引起。