如何在C中使用简单的文件输入和输出

时间:2013-12-07 16:05:44

标签: c visual-studio input output

有人可以告诉我应该如何在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)。这解决了我的问题。

1 个答案:

答案 0 :(得分:1)

数组声明,例如array[5]是5个元素,索引从0到4(0,1,2,3,4)

scanf需要变量的地址来存储值