我试图用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);
}
}
答案 0 :(得分:5)
您需要更改
printf("%s", &file);
和
f = fopen(&file, "r");
到
printf("%s", file);
和
f = fopen(file, "r");
答案 1 :(得分:0)
你的"&"都错了。如果你改变它,那应该是粗略的。
今后请更多关注编译器警告。
答案 2 :(得分:0)
我建议查看本页底部的scanf示例。 http://www.tutorialspoint.com/c_standard_library/c_function_scanf.htm
同样,你似乎对指针是什么以及它们属于何处感到困惑。 &运算符实际上是所有指针运算符中最不常用的运算符,所以不要指望像现在这样将它们遍布到整个地方。