回车 换行 字符串读取
①回车与换行
在Windows中:
‘\r’ 回车,回到当前行的行首,而不会换到下一行,如果接着输出的话,本行以前的内容会被逐一覆盖;’\n’ 换行,换到当前位置的下一行,而不会回到行首;
Unix系统里,每行结尾只有“<换行>”,即"\n";
Windows系统里面,每行结尾是“<回车><换行>”,即“\r\n”;
Mac系统里,每行结尾是“<回车>”,即"\r";
一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;
而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。
在Windows中读取Windows文件,getchar和fgetc会把\r吃掉,只剩下\n,所以不处理的话跨平台时会出现许多错误
②字符读取
int getc(FILE* stream); 从流中读取一个字符,并以整型返回,当读取失败或读到文档末尾,
返回EOF,因为EOF是-1,-1没有对应的字符,所以返回值是整型而不是字符型
getc() 相当于 fgetc(stdin)
③字符串读取
char* fgets(char*, int, FILE*);
读取完整一行,char buf[maxn],最多能读取maxn-1个字符,末尾自动加上’\0’,不会出现越界情况
一旦读到回车符’\n’就会停止,并且把回车符作为最后一个有效字符读入,结尾添加’\0’
如果使用fgets() 读取文件的时候bufsize大于该行的字符总数加2(多出来的两个,一个保存文件本身的’\n’换行,
一个保存字符串本身的结束标识’\0’),文件并不会继续读下去,仅仅只是这一行读取完,随后指向文件的指针会自动偏移至下一行。
如果读到了maxn-1个字符,还没读到’\n’,那就不以’\n’+’\0’结尾,仅以’\0’结尾
gets()存在缓冲区溢出漏洞,在C11中已被删除,但仍可以使用,但要避免使用
回车 换行 字符串读取相关推荐
- python字符串换行的三种方式_Python:怎样拼装超长字符串和包含回车换行字符串...
Python 中字符串可以使用单引号('--')或双引号("--")表示.反斜杠 \ 是转义字符.如果你不希望 \ 转义字符成特殊字符,可以在引号前添加 r 即可.如下所示: &q ...
- vba 读取linux换行符,【VBA研究】清除字符串中的回车换行符
作者:iamlaosong 如题,实际应用中,客户输入的地址中含有回车换行,导致格式转换中出错,因此需要清除掉,方法有二: 1.替换,这个方法只能清除一个回车换行 '检测地址中是否有回车换行 addr ...
- linux c 写文件 换行符,[Linux文件]带回车换行的写入字符串实例
[Linux文件]带回车换行的写入字符串实例 发布时间:2020-07-26 04:01:02 来源:51CTO 阅读:1802 作者:银河星君 //这是在上一个实例的基础上用strcat函数解决了回 ...
- Java 替换字符串中的回车换行符的方法
使用正则表达式进行替换: 代码片段: String documentTxt = EntityUtils.toString(entity,"gbk");//获取数据 documen ...
- SQL:查询、替换字符串中的回车、换行、回车换行
今天碰到一个问题,用字符串函数SUBSTRING截取字符串,给定的字符串数据中包含回车.换行.回车换行,导致截取失败.将字符串数据中的回车.换行.回车+换行处理之后就可以成功截取了. 1.判断字符串中 ...
- Lua操作字符串去除回车换行以及空格
Lua操作字符串去除回车换行以及空格 前言 lua的数据结构中string和table用的非常多,基本只要写lua脚本都会大量使用,其重要性不言而喻,这里主要说一下string去除回车换行和空格的方法 ...
- html字符串自动加回车换行,【HTML】处理br换行符追加到前端换行无效的问题 --- html中渲染的字符串中包含HTML标签无效的处理方法,字符串中包含HTML标签被转义的问题 解决...
需求如下图: 追加给前台后,效果如下: 可以在源码看到: 是将后台给出来的数据,直接当作字符串给填充在了前台HTML中. 而查看浏览器编译后的HTML源码可以发现: 原来字符串中的 的<> ...
- Java去除字符串中空格、制表符、回车换行的方法
\t 是制表符 \r\n 回车换行 注意:\r,\n的顺序是不能够对换的,否则不能实现换行的效果. 操作系统的不同,换行符操也不同: \r: return 到当前行的最左边. \n: newline ...
- js字符串去掉前后空格回车换行
问题: 需要规范用户在textarea框中输入的数据,需去掉字符串前后空格回车换行(字符串中间的不需要管) 解决: 直接使用trim()方法. var str= row.serviceNameModi ...
最新文章
- oracle惯用缩写的含义
- 成功解决Both binary classification-only and multiclassification-only loss function or metrics specified
- 库克的采访给我们带来的思考!
- The operation couldn’t be completed. (LaunchServicesError error 0.)
- android学习笔记46——File存储
- Java虚拟机结构分析
- PaperNotes(16)-图神经网络GNN简史、不动点建模-笔记
- linux ptrace 读内存,Linux高级调试与优化——ptrace
- odoo10参考系列--ORM API 三(字段、继承与扩展、域和更新到新API)
- java 正则高级应用_JAVA正则表白式高级用法(分组与捉拿).
- 阿里云 Aliplayer高级功能介绍(四):直播时移
- Visual C# 2008+SQL Server 2005 数据库与网络开发-- 1.1 Visual Studio 2008概述
- 2021认证杯(小美赛)思路分析
- 深入浅出MFC笔记(5)
- iNFTnews | 元宇宙进行时:那些跑步入场的互联网大厂在如何谋篇布局?
- 朗文当代高级英语辞典android,朗文当代高级英语辞典最新版下载-朗文当代高级英语辞典第6版appv4.5.2 安卓版 - 极光下载站...
- win7没有显示wifi连接到服务器,Win7笔记本电脑搜不到无线网络(Wifi)怎么办?...
- sqlserver 汉字转拼音(转载)
- Java模拟物流快递系统程序设计(此题仅仅实现类的继承与多态,后续增加接口部分)
- java程序员语录_java程序员励志说说26条