读取文件时断言失败

时间:2014-04-03 11:02:06

标签: c++ c visual-studio-2010

我正在尝试打开文件并将其复制到内存中(在Visual Studio,C ++上)。

这是漏洞代码的一部分:

void *ptr;
FILE *file;
int size;


app->file = fopen("C:\\Users\\name\\Desktop file.txt", "r");
ptr = malloc(BUFF_SIZE);
size = fread(ptr, 1, BUFF_SIZE, app->file);

在最后一行之后,我收到错误:

Debug Assertion Failed!

我在这里做错了什么..?

谢谢!

1 个答案:

答案 0 :(得分:1)

您应该检查是否成功打开:

void *ptr;
FILE *file;
int size;

app->file = fopen("C:\\Users\\name\\Desktop\\file.txt", "r");
if (app->file) {
    ptr = malloc(BUFF_SIZE);
    size = fread(ptr, 1, BUFF_SIZE, app->file);
}

请注意,完整路径在目录名称和文件名之间有\,而不是空白。