换行符

C++字符串的输入输出整理

人盡茶涼 提交于 2019-11-28 01:25:30
最近在跟一门北大C++程序设计的慕课,openjudge上做到一道题,要求定义一种能够输入输出学生姓名,年龄,学号和学年成绩的类。比较特别的是输入的形式是以逗号隔开的一长串字符串。 我用的方法通过是通过了,但可能比较笨,主要使用getline获取指定字符之前的字符串,使用强制转换函数stoi()转换成数字。 #include <iostream> #include <string> #include <cstdio> #include <cstring> #include <sstream> #include <cstdlib> using namespace std; class Student { private: string m_name, m_id; unsigned m_age; double m_av, n[4]; public: void input() { string ts = {}; getline(cin, m_name, ','); //从流中获取姓名的字符串,遇到逗号结束 getline(cin, ts, ','); //从流中获取年龄的字符串 m_age = stoi(ts); //强制转化为整型赋给成员变量m_age getline(cin, m_id, ','); //从流中获取学号的字符串,赋给成员变量m_id for (int i = 0; i

换行符,CRLF和LF,git提交错误

梦想的初衷 提交于 2019-11-27 08:13:47
参考: https://www.jianshu.com/p/450cd21b36a4 前提:windows上作业,提交git 结果:fatal: LF would be replaced by CRLF ... 换行符 CRLF :Windows平台,“\r\n”,回车(CR)和换行(LF) LF :Mac 和 Linux平台,“\n”,回车(CR) 为了保证程序的统一,在Windows平台提交git时,需要将 CRLF 转换成 LF,拉取代码时则相反 git 可以通过命令自动进行转换和提醒: 1、git config --global core.autocrlf true 2、git config --global core.safecrlf true #提交时转换为LF,检出时转换为CRLF $ git config --global core.autocrlf true #拒绝提交包含混合换行符的文件 git config --global core.safecrlf true #允许提交包含混合换行符的文件 git config --global core.safecrlf false #提交包含混合换行符的文件时给出警告 git config --global core.safecrlf warn 来源: https://blog.csdn.net/ejennahuang

【JSON】处理换行符

岁酱吖の 提交于 2019-11-27 06:08:24
前言: json格式数据中是不能有换行符“\n”的,有的话解析时会抛出异常 正文: JS: var myJSONString = JSON.stringify(myJSON); var myEscapedJSONString = myJSONString.replace(/\\n/g, "\\n") .replace(/\\'/g, "\\'") .replace(/\\"/g, "\\\"") .replace(/\\&/g, "\\&") .replace(/\\r/g, "\\r") .replace(/\\t/g, "\\t") .replace(/\\b/g, "\\b") Java: array.replaceAll("\n","\\\\n") 参考博客: Json处理换行符 - dchjmichael的专栏 - CSDN博客 https://blog.csdn.net/dchjmichael/article/details/8243199 探究java中String.replaceAll方法把换行符(\n)替换为明文显示(\n)为何需要四个反斜杠(\\\\n) - 禤永豪 - CSDN博客 https://blog.csdn.net/xuanyonghao/article/details/75053469 来源: https://www.cnblogs.com

oracle中去掉文本中的换行符、回车符、制表符小结

一曲冷凌霜 提交于 2019-11-27 04:17:30
转自: http://www.blogjava.net/xzclog/archive/2010/04/22/319078.html oracle中去掉文本中的换行符、回车符、制表符小结 一、特殊符号ascii定义 制表符 chr(9) 换行符 chr(10) 回车符 chr(13) 二、嵌套使用repalce,注意每次只能提交一个符号,如先回车再换行 select REPLACE(gg, chr(10), '') from dual 要注意chr(13) | | chr(10) 此类结合使用的情况比较多,回车换行在notepad中是比较好看点的,所以要考虑此种情况 select translate(string,chr(13)||chr(10),',') from dual; 1、例子一 create table TEST_1 ( VA VARCHAR2(10), VB NUMBER(2), VC VARCHAR2(10), VD NUMBER(11,2), VE NUMBER(11,4), VCL CLOB ); SQL> select vb,vc,replace(vc,chr(10),'') as TT, translate(vc,chr(10),',') from test_1; VB VC TT TRANSLATE(VC,CHR(10),',') --- ---------

C语言fgets()与fputs()详解

本小妞迷上赌 提交于 2019-11-27 03:28:29
文章目录 fgets()与fputs() 1⃣️fgets()优缺点: 2⃣️fgets()返回值: 3⃣️fgets()操作实例: 3⃣️fgets()操作进阶: fgets()与fputs() fgets()函数的第二个参数指明了读入字符的最大数量。如果该参数为n,那么fgets函数将读入n-1个字符。如果fgets()函数读到一个换行符,会把它储存在字符串中。这点与gets不同,gets会丢弃换行符。fgets()函数的第三个参数指明要读入的文件。如果读入从键盘输入的数据,则以stdin作为参数。 fputs()函数的第二个参数指明他要写入的文件。如果要在计算机显示器上打印,则使用stdout作为参数。 与puts()函数不同,fputs()函数不会在待输出字符串末尾添加一个换行符。 例: # include <stdio.h> # define LEN 14 int main ( void ) { char words [ LEN ] ; puts ( "Enter a String" ) ; fgets ( words , LEN , stdin ) ; puts ( words ) ; //puts()函数会添加换行符\n fputs ( words , stdout ) ; return 0 ; } 输入apple后, apple\n\0 被存储在数组中。

Netty解码的艺术

瘦欲@ 提交于 2019-11-26 23:41:48
什么是拆包/粘包:   TCP 粘包/拆包:   TCP 是一个“流”协议,所谓流,就是没有界限的一长串二进制数据。TCP 作为传输层协议并不了解上层业务数据的具体含义,它会根据TCP 缓冲区的实际情况进行数据包的划分,所以在业务上认为是一个完整的包,可能会被TCP 拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这就是所谓的TCP 粘包和拆包问题。同样, 在Netty 的编码器中, 也会对半包和粘包问题做相应的处理。什么是半包, 顾名思义, 就是不完整的数据包, 因为netty 在轮询读事件的时候, 每次将channel 中读取的数据, 不一定是一个完整的数据包, 这种情况, 就叫半包。粘包同样也不难理解, 如果Client 往Server 发送数据包, 如果发送频繁很有可能会将多个数据包的数据都发送到通道中, 如果在server 在读取的时候可能会读取到超过一个完整数据包的长度, 这种情况叫粘包。有关半包和粘包, 如下图所示: 粘包问题的解决策略:   由于底层的TCP 无法理解上层的业务数据,所以在底层是无法保证数据包不被拆分和重组的,这个问题只能通过上层的应用协议栈设计来解决。业界的主流协议的解决方案,可以归纳如下: 消息定长,报文大小固定长度,例如每个报文的长度固定为200 字节,如果不够空位补空格; 包尾添加特殊分隔符

对于换行符和转义字符以及文件路径的总结

时光怂恿深爱的人放手 提交于 2019-11-26 12:57:38
1.换行符 windows系统 换行符 \r\n 占两个字节 linux/unix 换行符 \n 2.转义字符 在Java中,不管是String.split(),还是正则表达式,有一些特殊字符需要转义, 这些字符是 ( [ { / ^ - $ ¦ } ] ) ? * + . 转义方法为字符前面加上\\,这样在split、replaceAll时就不会报错了; 3.文件路径 最好是这样写,因为windows可以识别,而且liuxs和unix可以识别 file:/E:/E/Javaworkspace/learnJse/bin/nubi/swing/gui/ 来源: https://blog.csdn.net/qq_42326257/article/details/98871919

Git中crlf自动转换的坑

心不动则不痛 提交于 2019-11-26 12:24:51
新上手一个项目,克隆了代码下来搭环境,一路坑。其中一个sh脚本执行不了,报IOException,java日志除了“找不到文件或文件夹”之外看不出任何信息,手动运行脚本才发现是脚本编码有问题: 应该是有人用windows开发的,提交时未做crlf转换。我印象中git是会自动转换crlf的,为何还会出现这种问题呢?下面是搜到的一个解释: 原文地址: 在Git中一定要关注的crlf自动转换 GitHub 第一坑:换行符自动转换 如果你已经做出了错误的选择,也不需要重新安装,可以直接使用命令行来修改设置。很简单,直接打开这货自带的命令行工具 Git Bash,输入以下命令,再敲回车即可: git config --global core.autocrlf false 在各操作系统下,文本文件所使用的换行符是不一样的。UNIX/Linux 使用的是 0x0A(LF),早期的 Mac OS 使用的是 0x0D(CR),后来的 OS X 在更换内核后与 UNIX 保持一致了。但 DOS/Windows 一直使用 0x0D0A(CRLF)作为换行符。(不知道 Bill Gates 是怎么想的,双向兼容?) 这种不统一确实对跨平台的文件交换带来麻烦。虽然靠谱的文本编辑器和 IDE 都支持这几种换行符,但文件在保存时总要有一个固定的标准啊,比如跨平台协作的项目源码,到底保存为哪种风格的换行符呢?