用C语言fscanf()一运行就出错~怎么回事呀~

抽出来的简单程序如下:

#include<stdio.h>
#include<stdlib.h>

int main()
{
FILE*fin = fopen("file_in.txt","r");
char c;

fscanf(fin,"%c",&c);
printf("%c",c);

fclose(fin);
system("pause");
return 0;
}
运行就出错,后来想改用fgets也出错~代码改的如下:
#include<stdio.h>
#include<stdlib.h>

int main()
{
FILE*fin = fopen("file_in.txt","r");
char c;
char buffer[500];
fgets(buffer,50,fin);

fclose(fin);
system("pause");
return 0;
}

急求帮助!!!!

第1个回答  2011-10-16
fopen的参数问题,你把r改成w,r是对文件的读,不能进行写操作
FILE*fin = fopen("file_in.txt","w");
"w“是文件写的操作
第2个回答  2011-10-16
第一个
#include<stdio.h>
#include<stdlib.h>

int main()
{
FILE*fin = fopen("file_in.txt","wt+");
char c='a';

fscanf(fin,"%c",&c);
printf("%c",c);

fclose(fin);
system("pause");
return 0;
}本回答被提问者采纳
第3个回答  2011-10-16
奇怪的是,当在源代码所在文件夹里放了个file_in.txt文本文件时,楼主的两段代码都能正确编译运行(第2段加了puts(buffer)后正确显示了读到的一行文本)。
我用VC6。是不是楼主的IDE的原因?追问

我用的是也是VC6,还用DEV和codeblocks试过了,都不行~急死了~!!

追答

是不是楼主创建的工程类型的原因?是不是创建的不是Win32 Console Application? 抑或是楼主的源代码文件扩展名不是CPP或C? 有没有把file_in.txt文件放在项目文件夹内?对该文件是否有访问权限?
如果上述都可以排除,那就只有截图,把错误内容贴上来大伙儿帮忙分析分析了。

第4个回答  2011-10-15
file_in.txt
这个文件不在当前目录吧
相似回答