永发信息网

一个字符串既有回车又有空格 怎么表示它结束

答案:1  悬赏:0  手机版
解决时间 2021-03-05 21:58
一个字符串既有回车又有空格 怎么表示它结束
最佳答案
C语言中回车,换行,空字符与空格:fgets和gets在读取换行符的区别

摘要:C语言中,我们常常从终端输入,并且输出到终端,键盘上的回车,输入到缓冲区以后,变成了什么字符?是‘\0’还是‘\n’?回车与换行有什么区别?本文主要为你讲解C语言中的换行、回车等控制字符,帮助区别它们的实质。

1.空格

它的ASCII码为0x20,而不是0x00。其中,gets可以读入空格字符。

2.回车(\r)

这里有一个很重要的区分点:回车符号和回车键。

回车(‘\r’)效果是输出回到本行行首,结果可能会将这一行之前的输出覆盖掉。例如执行:

puts("hello world!\rxxx");

在终端输出的是:

xxxlo world!

如果将上面的字符串写入文件中,例如执行:

char *s = "hello world!\rxxx";

FILE *str = fopen("t.txt","r");

fwrite(s, 16, 1, str);

用文本编辑器打开t.txt。显示的效果将由打开的编辑器所决定。

vi的效果为

windows记事本效果为

可以看到,vi将\t用^M代替,而记事本就没有显示该字符。

3.回车键

关于“回车键”的来历,还得从机械英文打字机说起。在机械英文打字机上,有一个部件叫“字车”,每打一个单词,“字车”就前进一格。当打满一行字符后,打字者就得推动“字车”到起始位置,这时打字机会有两个动作响应:一是“字车”被归位,二是滚筒上卷一行,以便开始输入下一行,这个推动“字车”的动作叫“回车”。后来,在电动英文打字机上,人们增加了一个直接起“回车”作用的键。这个新增的键就被称为“回车键”。

回车的ASCII代码

16进制是“0x0d”

10进制是“13”

在某些语言中可以用"\r"表示。

不同的操作系统对回车的处理是不同的:

在Unix/Linux系统中,换行用"\n"一个字符表示,

而在Windows系统中,则用"\n\r"两个字符表示。

4.换行(\n)10
如果要实现换行的效果,在终端我们只需要使用'\n'即可;如果要想在win系统下的文本中实现换行的效果,需要使用‘\n\r’两个控制字符

5.C语言对于字符串的处理

首先,回车键按下以后,键盘缓冲区中存放的是字符\n,如果我们用getchar,那么我们读入的是字符“\n”;如果我们使用gets进行读取,那么“\n”将被作为表示的结束的控制字符读取。然后,gets会自动把这个\n转换成'\0'存储在字符串中。

另外,如果从终端读取一个字符串,gets会把最后的换行符\n换成\0,而fgets从stdin读入的时候,不会对\n进行处理。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
根据汉字的不同意思组词观①对事物的认识方法
星河湾大酒店停车场在什么地方啊,我要过去处
【鲁迅 秋瑾】鲁迅的小说《药》这个题目是什
安妮花 磨出我的英文耳朵加盟
国外教授Skype面试
天隆车行这个地址在什么地方,我要处理点事
伊利公司单方面开除员工,员工如何维权
已知实数x,y满足x2+3x+y-3=0,则x+y的最大值
为什么手机凭空下载恶意软件
排比句举例
同学们坐在宽广的阅览室里看书.的宽广为什么
酷派手机大神note3速度为何这么慢
满城区大册营镇大册村村民委员会我想知道这个
用约束带限制患儿活动时,应多长时间放松一次
化学元素之间的反应是怎么回事,请用物理学解
推荐资讯
爱尚美发这个地址在什么地方,我要处理点事
天秤座神话故事
cf锦绣锦绣买号靠谱么
北邙陵园咨询服务这个地址在什么地方,我要处
“如果公司给我机会,我明天就能到职,尽心尽力
装满水的保温瓶的效果好,还是不装满水而留一
威海卓远酒行连锁NO.003在哪里啊,我有事要去
我妹,边和男朋友啪啪,边和我微信聊天,她这
奥迪A6左前门上的按钮是什么意思
同心县热力公司收费大厅这个地址在什么地方,
A公司欲添置一台设备,正在研究应通过自行购
求助,老电脑用e8400替换e5500性能提升多少
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?