关于换行符和回车符

    由于历史的原因,各大主流操作系统在行尾添加的字符不太一样:Windows使用回车换行”\r\n”,Unix使用换行”\n”,Mac使用回车”\r”。

    也就是说,在Windows下点击“回车符”,会添加两个字符,在Unix/Mac下点击“回车”,只添加一个字符。

    因此,在我们编程的时候,要注意这些细小的差别。

    不同计算机上C语言统一规定:文本文件的行结束符变成一个符号LF,也就是换行符。回车符和换行符转换成一个换行符,对PC而言,文本文件行结束符回车符和换行符读入后,丢掉回车符,留下换行符。

    在Ubuntu下新建一个文本文件,用ghex打开该文本会发现文件后面添加了一个换行符。

    在Ubuntu下用fgetc读取字符时,若要判断读取结束时,不能使用

    while(!feof(fp))

    {

        ch = fgetc(fp);

        if(ch == EOF)

            break;

    }

    这样的话,在Ubuntu下读取文件时由于在文件后面会多出一个换行符,因此,要用以下的方式:

    while(!feof(fp))

    {

        ch = fgetc(fp);

        if(ch == EOF || ch == '\n')

            break;

    }

   

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值