| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 393 人关注过本帖
标题:问个简单的问题,求帮助
只看楼主 加入收藏
heykey
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2015-7-16
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
问个简单的问题,求帮助
void Edit()
{
     FILE *sfp;
     char c;
     if ((sfp=fopen("d://0.txt","a+"))==NULL)
     {
        printf("打开文件失败");
        exit(0);
     }
     printf("请输入文本(默认存储地址为d://0.txt)\n:");
     
     while((c=getchar())!=EOF)
          fputc(c,sfp);   
     
     fclose(sfp);
     
}
想问这个子函数输入文本写入文件后,打开写入的文本文件,为何多了第一行空行,且光标停在第一行?谢谢
2015-07-17 10:45
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:7 
     while((c=getchar())!=EOF)
           fputc(c,sfp);    


你明白这段话的逻辑机制吗?

授人以渔,不授人以鱼。
2015-07-17 11:11
heykey
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2015-7-16
收藏
得分:0 
回复 2楼 TonyDeng
还请指点,看到版主说应该先看库函数大全了,最近刚下了,正在学习中,辛苦版主能稍微解释一下,非常感谢
2015-07-17 16:35
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你这个代码,文件输出的结果,取决于你输入的动作。getchar()不断从键盘中读取数据,直至你按下Ctrl+Z并回车为止(在Windows下是按这个组合键),在此期间,它读到的任何字符,均会輸出到文件中。换句话说,你在输入的时候,是按过回车键再输入文字的。

授人以渔,不授人以鱼。
2015-07-17 16:52
w2009w
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:190
专家分:542
注 册:2015-4-20
收藏
得分:7 
2015-07-17 16:53
q215236213
Rank: 4
等 级:业余侠客
威 望:1
帖 子:148
专家分:276
注 册:2012-7-24
收藏
得分:7 
while ((ch = getchar())!='q')
    {
        fputc(ch, pf);
    }
getchar() 方法是把输入的内容保存到键盘缓存区中,直到输入q,退出循环,fputc()方法会把键盘缓存区中的内容保存下来
2015-07-17 17:00
快速回复:问个简单的问题,求帮助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028489 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved