| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5412 人关注过本帖, 1 人收藏
标题:fgetc函数
取消只看楼主 加入收藏
vinyie
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-10-7
收藏(1)
 问题点数:0 回复次数:4 
fgetc函数

本人有两个C程序,程序非常简单:程序一向file.txt中写入5个字符,5个字符ascii均为13;程序二为从file.txt中读取字符。两个程序均能正常运行,按分析,程序二应该打印五个13,但是却得不到这个结果,有哪位朋友帮我解释下这个特殊的‘13’!谢谢!(注:若将程序一中fputc(13,,fp)的参数13改为其他ascii值均没有此问题出现,包括10.)
#include <stdio.h>
int main(void)
{
FILE *fp;
int i=0;
fp=fopen("file.txt","w");
while (i<5)
{
fputc(13,fp);
i++;
}
fclose(fp);
}

程序二:
#include <stdio.h>
int main(void)
{
FILE *fp;
char ch;
fp=fopen("file.txt","r");
while ((ch=fgetc(fp))!=EOF)
printf("%d\n",ch);
getch();
fclose(fp);
}

搜索更多相关主题的帖子: fgetc 函数 
2007-11-11 21:15
vinyie
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-10-7
收藏
得分:0 
谢谢版主。我的问题是这样的:一个文本文件里面有若干字符,以ascii表示,如45,13,67...,当从这个文件里读取字符时,发现13这个字符被直接跳过,不予读取,我想不通其中原由。其实这和上面是同样的问题,为什么13可以被存储,而不能被读取呢?为什么会被跳过呢?
2007-11-11 22:19
vinyie
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-10-7
收藏
得分:0 

谢谢六楼,的确,要是以%C打印字符的方式打印的话,啥也看不到,但我现在是以%d的格式打印呀,应该显式13这个数字的!是不是fgetc函数本身对于13(ascii)根本就不予读取呢???

2007-11-11 23:01
vinyie
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-10-7
收藏
得分:0 
我的意思是这样的,不管13(ascii)是回车也好,换行也罢,它无非就是一个ascii码值,按理以%d形式一定可以打印出来的,现在的问题就是没有显示13这个结果。为什么!
2007-11-11 23:09
vinyie
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-10-7
收藏
得分:0 
谁能帮我解决这个难题,谢谢。
2007-11-11 23:48
快速回复:fgetc函数
数据加载中...
 
   



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

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