【发布时间】:2013-03-14 09:54:53
【问题描述】:
我已经编写了一个 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缓冲区太短了一个字符。您没有为空终止符留出空间。
标签: c++ c visual-c++-2005