gpt4 book ai didi

c++ - 文件未使用 c 中的 remove() 函数删除

转载 作者:搜寻专家 更新时间:2023-10-31 01:11:02 26 4
gpt4 key购买 nike

我已经编写了一个 c++ 库来使用 Visual C++ 2005 中的 remove 函数删除文件。但它不会删除文件。我该如何解决这个问题?

示例代码如下:

FILE *fp;
char temp[10000];
char *filename;

GetCurrentDirectoryA(10000,temp);
strcat(temp,"\\temp.png");

filename = (char*)malloc(sizeof(char)*strlen(temp));
memset(filename,'\0',strlen(temp));
strcpy(filename,temp);

if(png == NULL)
return LS_ARGUMENT_NULL;

fp = fopen(filename,"wb");
fwrite(png,sizeof(unsigned char),pngLength,fp);
fclose(fp);

result = remove(filename);

最佳答案

忽略其他部分,我认为你应该多分配一个字符:

filename = (char*)malloc(strlen(temp)+1); // I added a +1 for last '\0'
// memset(filename,'\0',strlen(temp)); // You dont need this
strcpy(filename, temp);

如果您需要从当前目录中删除一个文件,只需名称就足够了:

remove("temp.png");

摆脱那些 GetCurrentDirectoryA 和相关代码。

关于c++ - 文件未使用 c 中的 remove() 函数删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15405980/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com