谁知道为什么C语言 fopen 已经打开文件了,为什么无法输入!

intmain(){intch;FILE*fp=NULL;fp=fopen("f:\\cinst.txt","a");if(fp!=NULL){printf("文件打开成... int main()
{
int ch;
FILE *fp=NULL;
fp = fopen("f:\\cinst.txt","a");
if (fp != NULL)
{
printf("文件打开成功!\n");
}
gets(fp); // 这里我不是已经输入了吗?而且puts也有输出!为什么打开cinst.txt,什么都没,显示0字节
system("cls");
puts(fp);
fclose(fp);
return 0;
}
展开
 我来答
kaixingui2012
2015-11-25 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6486万
展开全部
fp = fopen("f:\\cinst.txt","a"); 表示向文件中写入数据

gets(fp); 这句是从文件中读取数据,但你打开的指针为“追加写入”,所以,读不到内容!

而且,这里不应该用gets(),你读到的数据存储到哪呢?
追问
f:\\cinst.txt 这不是在F盘根目录创建一个cinst.txt 文件?gets()函数不是从标准输入设备读字符串码?(键盘输入) ! 难道是我哪里理解错了?求大牛纠正我下 谢谢!
追答
char str[100];
gets(str); //从键盘读数据到str中
fputs(str,fp );//将str中的数据写到文件中
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式