用fopen删除文件内容(“file_name.dat”,“w”)

时间:2017-07-03 10:34:23

标签: c file

打开文件并立即将其关闭以删除其内容是否安全且可接受。

FILE *fp = fopen("file_name.dat","w");
fclose(fp);

我试一试,对我来说很好。 推荐的方法是什么? 请解释这样做的其他方式。 截断文件不重复我想知道是这种方法删除文件是真的因为我猜它并没有在任何书中阅读

2 个答案:

答案 0 :(得分:3)

有多种方法可以实现它。这一切都取决于您的用例。其中很少有如下: 1.正如你所建议但只有很少的支票

FILE *fp = fopen("file_name.dat","w"); /*fopen("file_name.dat","wb");*/
if(fp)
{
    fclose(fp);
}

最好检查fopen返回。

  1. 您可以完全删除该文件并再次打开该文件。 https://www.tutorialspoint.com/c_standard_library/c_function_remove.htm

答案 1 :(得分:1)

清除文件内容的简便方法:

 @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {


        if(remoteMessage.getData().size() > 0) {
            Log.d(TAG, "Message data: " + remoteMessage.getData());
            sendNotification(remoteMessage.getData().get("message"));


        }

        //Check if the message contains notification

        if(remoteMessage.getNotification() != null) {
            Log.d(TAG, "Mesage body:" + remoteMessage.getNotification().getBody());
            sendNotification(remoteMessage.getNotification().getBody());
        }
    }

    private void sendNotification(String body) {
 if (body.equals("Image Upload Successfully")){
            intent= new Intent(this, Image_Gallery.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

        }else if (body.equals("Video Upload Successfully")){

            intent = new Intent(this, Video_Gallary.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        }else if (body.equals("Home Work Are Uploaded")){

            intent = new Intent(this, HomeWork.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        }