FILE *创建错误:未处理的异常(ucrtbased.dll)访问冲突读取位置

时间:2016-03-11 04:27:47

标签: c++ c

我正在使用简单的fopen,fwrite,fflush,fclose代码体。但是,出于某种原因,每次我尝试创建一个FILE *对象时,它都会崩溃。我的代码如下。

//fopen
FILE * f_data = fopen("out.txt", 'wb'); // BREAKS HERE
if (f_data == NULL) { printf("fopen failed!"); }

//fwrite
int fwritten = fwrite(data, 1, content_length, f_data);
if (fwritten == 0) { printf("fwrite failed!"); }

//fflush
int flush = fflush(f_data);
if (flush != 0) { printf("fflush failed!"); }

//fclose
int close = fclose(f_data);
if (close != 0) { printf("fclose failed!"); }

每当我运行此代码时,都会收到以下错误:

  

main.exe中0x5F52C795(ucrtbased.dll)的未处理异常:0xC0000005:访问冲突读取位置0x00007762。

我现在一直在研究这个问题大约一个小时,但没有用。我已经知道这是Windows告诉我我遇到了分段错误,可能是因为试图取消引用NULL指针。

如果有人对我的文件*实例化工作原因有所了解,请分享!

编辑:我不确定它是否与此问题相关,但正在编写的data缓冲区是一个简单的字符串:" Hello,world,以及所有居住者! "并且content_length设置为sizeof(data)

0 个答案:

没有答案