谁知道为什么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;
} 展开
{
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;
} 展开
展开全部
fp = fopen("f:\\cinst.txt","a"); 表示向文件中写入数据
gets(fp); 这句是从文件中读取数据,但你打开的指针为“追加写入”,所以,读不到内容!
而且,这里不应该用gets(),你读到的数据存储到哪呢?
gets(fp); 这句是从文件中读取数据,但你打开的指针为“追加写入”,所以,读不到内容!
而且,这里不应该用gets(),你读到的数据存储到哪呢?
追问
f:\\cinst.txt 这不是在F盘根目录创建一个cinst.txt 文件?gets()函数不是从标准输入设备读字符串码?(键盘输入) ! 难道是我哪里理解错了?求大牛纠正我下 谢谢!
追答
char str[100];
gets(str); //从键盘读数据到str中
fputs(str,fp );//将str中的数据写到文件中
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询