有人可以告诉我应该如何在C中执行基本文件输入和输出。我尝试搜索但是我只能获得C ++等解决方案。
我正在尝试使用fscanf和fprintf来执行此操作。但是,一旦执行此部分,程序就会崩溃并显示错误消息:“Test Project.exe中0x50D39686(msvcr120d.dll)处的未处理异常:0xC0000005:访问冲突写入位置0xCCCCCCCC”。文件cats.txt位于Documents \ Visual Studio 2013 \ Projects \ Test Project \ Test Project我的代码粘贴在下面
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main()
{
double things_in_file[6];
int counter;
FILE *file_cats;
if ((file_cats = fopen("cats.txt", "r")) == NULL)
{
printf("This file doesn't exist.\n");
system("pause");
exit(-1);
}
for (counter = 0; counter <= 5; counter = counter + 1)
{
fscanf(file_cats, "%lf\n", &things_in_file[counter]);
printf("%f\n", things_in_file[counter]);
}
fclose("file_cats");
system("pause");
exit(0);
}
我弄清楚出了什么问题。第fclose("file_cats")
行应为fclose(file_cats)
。这解决了我的问题。
答案 0 :(得分:1)
数组声明,例如array[5]
是5个元素,索引从0到4(0,1,2,3,4)
scanf
需要变量的地址来存储值