当前位置: 代码迷 >> C语言 >> 再议13(ascii)的读取
  详细解决方案

再议13(ascii)的读取

热度:1004   发布时间:2007-11-12 19:48:14.0
再议13(ascii)的读取

我的问题是:13(ascii)可以作为一个字符用fputc函数存入一文本文件,但是为什么不能以fgetc读取出来???有朋友讲13是回车符;没错,13的确是回车,但它也确实是一个字符呀,它应该可以被读取,并且能以%d的形式打印出来的呀!但现在情况是这样的,若是该文本文件中有三个字符(分别为10,13,67),发现fgetc会直接跳过13这个字符,读取出来的仅仅是10以及67这两个字符。为什么??谢谢大家!

搜索更多相关的解决方案: ascii  

----------------解决方案--------------------------------------------------------

一个很怪的现象 郁闷
代码1:
#include <stdio.h>
int main(void)
{
FILE *fp;
char ch;
fp=fopen("file.txt","r");//文件中包含 ASCII 为13的字符......
while ((ch=fgetc(fp))!='\0')
{
printf("%c",ch);
}
fclose(fp);
printf("%c",13);//在这打印个13对应的字符可以实现清屏
return(0);
}

代码2:
#include <stdio.h>
int main(void)
{
FILE *fp;
char ch;
fp=fopen("file.txt","r");
while ((ch=fgetc(fp))!='\0')
{
printf("%c",ch);
}
fclose(fp);
printf("%c",13);//这个没有清屏的功能 ...?
return(0);
}


----------------解决方案--------------------------------------------------------
有哪位朋友帮忙回答楼主的问题
----------------解决方案--------------------------------------------------------
代码1:
#include <stdio.h>
int main(void)
{

char ch[]="jhfjkdhjhdfjkghdjghjdghjkdh";
printf("%s",ch);// 没有"\n"
printf("%c",13);//13有清屏效果
return(0);
}
代码2:
#include <stdio.h>
int main(void)
{

char ch[]="jhfjkdhjhdfjkghdjghjdghjkdh";
printf("%s\n",ch);\\ 有"\n"
printf("%c",13);//13没有清屏效果
return(0);
}




好像13的清屏功能与某些字符的存在有关

[此贴子已经被作者于2007-11-12 21:31:28编辑过]


----------------解决方案--------------------------------------------------------
C是不是代表运算符+,-,*,/
scanf("%c",&c);

----------------解决方案--------------------------------------------------------

若是该文本文件中有三个字符(分别为10,13,67),发现fgetc会直接跳过13这个字符


以文本模式打开,是不会读取 '\r'的。
因为,DOS文本模式是以 '\r''\n' 作为换行的,
C 的实现上,读文本文件时会过滤掉 '\r' 。
如果你把 13 改成 10 就没问题的。(MAC 电脑上的文本文件是以 '\r' 换行的)

//--------------------------------------------------------------------
13:'\r'
10:'\n'


[此贴子已经被作者于2007-11-14 11:33:20编辑过]


----------------解决方案--------------------------------------------------------

13 是回到本行首 并清除本行内容
哎 为了得到这个结果 可是被人骂了LJ的
所以就造成了不能输出的假象







----------------解决方案--------------------------------------------------------
c语言里面的文件操作函数,有的会忽略掉空格,有的会忽略回车或者换行,具体是
什么样子的,可以到网上查一查,我也不是很了解
----------------解决方案--------------------------------------------------------
  相关解决方案