①回车与换行
在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中已被删除,但仍可以使用,但要避免使用

回车 换行 字符串读取相关推荐

  1. python字符串换行的三种方式_Python:怎样拼装超长字符串和包含回车换行字符串...

    Python 中字符串可以使用单引号('--')或双引号("--")表示.反斜杠 \ 是转义字符.如果你不希望 \ 转义字符成特殊字符,可以在引号前添加 r 即可.如下所示: &q ...

  2. vba 读取linux换行符,【VBA研究】清除字符串中的回车换行符

    作者:iamlaosong 如题,实际应用中,客户输入的地址中含有回车换行,导致格式转换中出错,因此需要清除掉,方法有二: 1.替换,这个方法只能清除一个回车换行 '检测地址中是否有回车换行 addr ...

  3. linux c 写文件 换行符,[Linux文件]带回车换行的写入字符串实例

    [Linux文件]带回车换行的写入字符串实例 发布时间:2020-07-26 04:01:02 来源:51CTO 阅读:1802 作者:银河星君 //这是在上一个实例的基础上用strcat函数解决了回 ...

  4. Java 替换字符串中的回车换行符的方法

    使用正则表达式进行替换: 代码片段: String documentTxt = EntityUtils.toString(entity,"gbk");//获取数据  documen ...

  5. SQL:查询、替换字符串中的回车、换行、回车换行

    今天碰到一个问题,用字符串函数SUBSTRING截取字符串,给定的字符串数据中包含回车.换行.回车换行,导致截取失败.将字符串数据中的回车.换行.回车+换行处理之后就可以成功截取了. 1.判断字符串中 ...

  6. Lua操作字符串去除回车换行以及空格

    Lua操作字符串去除回车换行以及空格 前言 lua的数据结构中string和table用的非常多,基本只要写lua脚本都会大量使用,其重要性不言而喻,这里主要说一下string去除回车换行和空格的方法 ...

  7. html字符串自动加回车换行,【HTML】处理br换行符追加到前端换行无效的问题 --- html中渲染的字符串中包含HTML标签无效的处理方法,字符串中包含HTML标签被转义的问题 解决...

    需求如下图: 追加给前台后,效果如下: 可以在源码看到: 是将后台给出来的数据,直接当作字符串给填充在了前台HTML中. 而查看浏览器编译后的HTML源码可以发现: 原来字符串中的 的<> ...

  8. Java去除字符串中空格、制表符、回车换行的方法

    \t 是制表符 \r\n 回车换行  注意:\r,\n的顺序是不能够对换的,否则不能实现换行的效果. 操作系统的不同,换行符操也不同: \r: return 到当前行的最左边. \n: newline ...

  9. js字符串去掉前后空格回车换行

    问题: 需要规范用户在textarea框中输入的数据,需去掉字符串前后空格回车换行(字符串中间的不需要管) 解决: 直接使用trim()方法. var str= row.serviceNameModi ...

最新文章

  1. Laravel+Angularjs+D3打造可视化数据,RESTful+Ajax
  2. java使用链栈实现迷宫求解
  3. Linux grep不包含某些字符串的命令
  4. 编码练习——Java-6-类的高级特性
  5. Altium designer中设置PCB网络闭合(不闭合)
  6. Python安装教程分享
  7. WEB API Filter的使用以及执行顺序
  8. springboot No Identifier specified for entity的解决办法
  9. js截取字符长度加省略号
  10. python长度单位换算表_长度单位换算表大全
  11. eval函数python原理_Python 中 eval 函数的神奇用法
  12. 罗丹明 PEG 巯基,Rhodamine PEG Thiol,荧光染料标记巯基/硫醇
  13. ODBC连接数据库使用动态密码
  14. 【研究总结】基于出租车GPS轨迹数据的相关研究
  15. 学习笔记|领域自适应(Domain adaption)——实现模型的自适应迁移
  16. ESP8266 Arduino Hard resetting via RTS pin...
  17. Win10系统重装 华硕笔记本电脑
  18. unity文字逐个出现实现文字打印机效果
  19. 0基础小白学理财从入门到进阶 | 2019年最新书单
  20. ipad可以开发python_这15个应用,程序员用iPad照样可以编程!

热门文章

  1. php发送邮件怎么配置,php mail()邮件发送配置方法
  2. iOS APP打包分发给远程的手机测试
  3. 神奇的网站安全狗,我的网站守护神!
  4. ES中match和term差别对比
  5. Linux各个目录作用
  6. 蛋糕是叫胚子还是坯子_【蛋糕胚子配方】_材料_做法-大众养生网
  7. 0成本+0基础玩转跨境电商开店创业项目,月入数万元
  8. HDU 2602 骨头收集者
  9. 数字图像处理二:图像空域运算
  10. 意男子16年秘建地下神庙 堪称世界第八奇迹(转)