fopen没有工作,程序崩溃

时间:2015-09-30 13:34:29

标签: c fopen

我试图用fopen打开一个文件,我只是不知道出了什么问题。该文件与main.c文件位于同一目录中。我也尝试使用完整目录,结果相同。谢谢你的帮助

int main()
{
const char file[2000];

int numWords = 0;
scanf("%s", file);

//printf("good");
printf("%s", &file);

FILE *f;
f = fopen(&file, "r");

if(f == NULL)
{
    printf("Cant open");
    printf("\n%s", file);
    exit(2);
}
}

3 个答案:

答案 0 :(得分:5)

您需要更改

printf("%s", &file);

f = fopen(&file, "r");

printf("%s", file);

f = fopen(file, "r");

请按照fopen()printf()的手册页进行操作,并启用编译器警告。

答案 1 :(得分:0)

你的"&"都错了。如果你改变它,那应该是粗略的。

今后请更多关注编译器警告。

答案 2 :(得分:0)

我建议查看本页底部的scanf示例。 http://www.tutorialspoint.com/c_standard_library/c_function_scanf.htm

同样,你似乎对指针是什么以及它们属于何处感到困惑。 &运算符实际上是所有指针运算符中最不常用的运算符,所以不要指望像现在这样将它们遍布到整个地方。