无法使用线程删除c中的文件

我使用套接字在C语言中创建服务器客户端系统,在服务器的主程序中,我创建了多个线程以对服务器具有多个访问权限。 我有一个文件,当客户端与服务器断开连接时,我在其中存储一些来自用户的信息,并且在关闭线程之前,我想使用将文件复制到临时文件的简单代码来更新有关该用户的文件信息文件,删除主文件并将临时文件重命名为主文件名。然后退出线程。

问题: 该程序无法删除主文件。 但是我在临时文件上对其进行了测试,然后将其删除。

我测试了多个内容,但我无法删除主文件,但一直都无法删除主文件。

if (remove("ScoreBoard.txt") == 0)
    printf("Deleted successfully");
else
    printf("Unable to delete the file");

/* Rename temporary file as original file */
rename("replace.txt", "ScoreBoard.txt");
评论
  • xipsam
    xipsam 回复

    您是否在另一个线程中打开了文件?根据您的平台,这可能会阻止您删除文件。