首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

熬夜整理的万字CC++总结(五),值得收藏

1.1.2 流的概念 流是一个动态的概念,可以将一个字节形象地比喻成一滴水,字节在设备、文件和程序之间的传输就是流,类似于水在管道中的传输,可以看出,流是对输入输出源的一种抽象,也是对传输信息的一种抽象...例如在 Windows 系统中,文本文件约定以一个回车符和一个换行符结尾。但是在 Linux 下只使用一个换行符结尾。...我们程序中,经常看到的文本方式打开文件和二进制方式打开文件仅仅体现在换行符的处理上。 比如说,在 widows 下,文件的换行符是 \r\n,而在 Linux 下换行符则是 \n。...最后调用 fclose 函数关闭流。关闭一个流可以防止与它相关的文件被再次访问,保证任何存储于缓冲区中的数据被正确写入到文件中,并且释放 FILE 结构。...失败:-1 int feof(FILE * stream); 功能:检测是否读取到了文件结尾。 参数: stream:文件指针 返回值: 非0值:已经到文件结尾。

95720

python文件操作二

,以字符串的形式返 回,并且结尾会有一个换行符"\n"。...list的一个成员,是一个字符串,并且结尾会一个换行符"\n",并返回这个list。...fileObject.flush() 该函数是将缓冲区中的内容写入硬盘 fileObject.tell() 返回文件操作标记的当前位置,以文件的开头为基准点 with open("test.txt"...如果在缓存中的文件在硬盘上发生了变化,并且你需要更新版本,使用 这个函数,执行此函数会讲淘汰的内容删除。如果省略 filename,将检查缓存里的所有条目。..., 文件内容写入|0|后的所有 行内容(也包括|0| ) 算法分析: 遍历每一行,每行取头8个字母 新建文件,文件名为首8个字母,然后把第15字符后的所有字 符拷贝到文件中 关闭文件 fp =open(

73020
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    文件结束符EOF

    EOF 也不是只表示读文件到了结尾这一状态(这种状态可以用 feof() 来检测),它还能表示 I/O 操作中的读、写错误(通常可以用 ferror() 来检测)以及其它一些关联操作的错误状态。...对于getchar,肯定很多初学的朋友会问,getchar不是以字符为单位读取的吗?那么,既然我输入了第一个字符a,肯定满足while循环(c = getchar()) !...不错,我在用getchar的时候也是一直这么想的,但是程序就偏偏不着样执行,而是必需读到一个换行符或者文件结束符EOF才进行一次输出。...为了能够让所定义的变量能够包含getchar函数返回的所有可能的值,正确的定义方法如下(K&R C中特别提到了这个问题):int c;c =getchar();二、EOF的两点总结(主要指普通终端中的EOF...从这里也可以看出Ctrl+D和换行符分别作为行结束符时,输出的不同结果。

    4.6K10

    很少人真正了解 n 和 r 有什么区别!

    我们使用printf打印时基本都会用到 \n 和 \r 之类控制字符,比如: printf("hello world!\r\n"); 那你知道这些 \n 和 \r 的区别吗?...\n : 换行符(newline),另起一行,对应ASCII值10(缩写:LF)。 \r : 回车符(return),回到一行的开头,对应ASCII值13(缩写:CR)。...在微软的MS-DOS和Windows中,使用“回车CR('\r')”和“换行LF('\n')”两个字符作为换行符; Windows系统里面,每行结尾是 回车+换行(CR+LF),即“\r\n”; Unix...系统里,每行结尾只有 换行CR,即“\n”; Mac系统里,每行结尾是 回车CR 即'\r'; 所以我们平时编写文件的回车符应该确切来说叫做回车换行符; 三、影响 一个直接后果是,Unix/Mac系统下的文件在...Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。

    16.6K22

    正则表达式详解

    当设定了此修正符,“行起始”和“行结束”除了匹配整个字符串开头和结束外,还分别匹配其中的换行符的之后和之前。这和 Perl 的 /m 修正符是等效的。...此效果也可以通过适当的模式本身来实现(在 Perl 中实现的唯一方法)。 D(PCRE_DOLLAR_ENDONLY)   如果设定了此修正符,模式中的美元元字符仅匹配目标字符串的结尾。...所有的转义序列都用反斜杠(\)打头。制表符的转义序列是:\t。所以如果我们要检测一个字符串是否以制表符开头,可以用这个模式: ^\t 类似的,用\n表示“新行”,\r表示回车。...m(PCRE_MULTILINE): 当设定了此修正符,行起始(^)和行结束($)除了匹配整个字符串开头和结束外,还分别匹配其中的换行符(/n)的之后和之前。...s(PCRE_DOTALL): 如果设定了此修正符,模式中的圆点元字符(.)匹配所有的字符,包括换行符。没有此设定的话,则不包括换行符。

    1.4K10

    一文让你搞明白文本或代码中 n 和 r 的区别

    我们使用printf打印时基本都会用到 \n 和 \r 之类控制字符,比如: printf("hello world!\r\n"); 那么,你知道 \n 和 \r 的区别吗?...\n : 换行符(newline),另起一行,对应ASCII值10(缩写:LF)。 \r : 回车符(return),回到一行的开头,对应ASCII值13(缩写:CR)。...在微软的MS-DOS和Windows中,使用“回车CR('\r')”和“换行LF('\n')”两个字符作为换行符; Windows系统里面,每行结尾是 回车+换行(CR+LF),即“\r\n”; Unix...系统里,每行结尾只有 换行CR,即“\n”; Mac系统里,每行结尾是 回车CR 即'\r'; 所以我们平时编写文件的回车符应该确切来说叫做回车换行符; 三、影响 一个直接后果是,Unix/Mac系统下的文件在...Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。

    8.1K30

    文本或代码中 n 和 r 的区别

    \r\n"); 那你知道这些 \n 和 \r 的区别吗? 一、关于 \n 和 \r 在 ASCII 码中,我们会看到有一类不可显示的字符,叫控制字符,其中就包含\r 和 \n 等控制字符。 ?...img \n : 换行符(newline),另起一行,对应 ASCII 值 10(缩写:LF)。 \r : 回车符(return),回到一行的开头,对应 ASCII 值 13(缩写:CR)。...在微软的 MS-DOS 和 Windows 中,使用“回车 CR('\r')”和“换行 LF('\n')”两个字符作为换行符; Windows 系统里面,每行结尾是 回车+换行(CR+LF),即“\r\...n”; Unix 系统里,每行结尾只有 换行 CR,即“\n”; Mac 系统里,每行结尾是 回车 CR 即'\r'; 所以我们平时编写文件的回车符应该确切来说叫做回车换行符; 三、影响 一个直接后果是...,Unix/Mac 系统下的文件在 Windows 里打开的话,所有文字会变成一行;而 Windows 里的文件在 Unix/Mac 下打开的话,在每行的结尾可能会多出一个^M 符号。

    4.6K20

    Qt正则表达式类QRegExp(附检验小程序)

    在许多场景中,我们需要验证用户输入的数据是否有效,或者是查找并修改文本,或者是提取指定数据,为此,相对于Qstring的一些函数,QT提供了一个更加强大的类——QRegExp,使用函数配合正则表达式来操作字符串...例如,要匹配字符串开头的文字插入符,请写\ ^ \a 匹配ASCII铃声(BEL,0x07) \f 匹配ASCII换页(FF,0x0C) \n 匹配ASCII换行符(LF,0x0A,Unix换行符) \...例如,如果我们在“ Left on”中搜索\ Bon \ B,则匹配将失败(字符串的空格和结尾不是非单词边界),但将在“ t on ne”中匹配。 (?...除此之外,还有其他一些其他字符可以和表达式组合,方括号表示匹配方括号中包含的任何字符。上述字符集缩写可以出现在方括号中的字符集中。除字符集缩写和以下两个例外外,字符在方括号中没有特殊含义。...通配符匹配,大多数命令外壳(如bash或cmd.exe)都支持“文件通配”,即使用通配符标识一组文件的能力。所述setPatternSyntax()函数用于正则表达式和通配符模式之间切换。

    6.8K21

    java常识-java怎么换行「建议收藏」

    大家好,又见面了,我是你们的朋友全栈君。 文章目录 “\r”和”\n”的区别 “\r”和”\n”的由来 回车键和输入的”\n”有不同吗?...系统影响 java使用换行符的几种方式 “\r”和”\n”的区别 回车 \r 本义是光标重新回到本行开头,r的英文return,控制字符可以写成CR,即Carriage Return 换行 \n 本义是光标往下一行...,比如windows还保留着”\r\n”的定义,而linux是”\n”,因此两个打开对方的文件就会显示出现差异 回车键和输入的”\n”有不同吗?...系统影响 换行符会随着系统的不同而不同 windows下的文本文件换行符:\r\n Mac linux/unix下的文本文件换行符\n 因此常见的现象是,Unix/Mac系统下的文件在Windows...里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号 如图,0a在ascII码中是”\n”的意思,因此如果文件在linux中打开,可以和

    3.9K20

    Python读取文件和写入文件

    注:此图截取自python官方文档,在Built-in Functions 中查找open( )即可查询到 b.函数close( ) 在程序最后,一般要调用此函数关闭文件,否则会造成一些潜在问题 c.文件对象方法...此例子中,我的f.read( )语句就是调用了文件对象的方法 read( ) 它的功能是读取这个文件的全部内容,并作为字符串返回,让我们来试一下content是什么内容: ?...可以看到,这次我只用了open( ),没用close( ),会出问题吗?不会。...使用with时,open返回的文件对象只能在with的代码块中使用,即此例中,我们的f的有效区域只在该代码块中, 但是content还是可以在代码块外面使用,只不过content只是一个字符串而已,稍加改动...同时,可以看到 由于我的第一句和第二句话末尾都加了换行符,所以此次第二句和第三句都新起一行了。 文本的读取和写入基本操作就是这样了

    3.6K20

    PHP正则表达式的模式修正符

    当设定了此修正符,“行起始”和“行结束”除了匹配整个字符串开头和结束外,还分别匹配其中的换行符的之后和之前。这和 Perl 的 /m 修正符是等效的。...默认不能表示换行符号,将字符串视为单行。如果设定了此修正符,模式中的圆点元字符(.)匹配所有的字符,包括换行符。没有此设定的话,则不包括换行符。这和 Perl 的 /s 修正符是等效的。...如果设定了此修正符,模式中的空白字符除了被转义的或在字符类中的以外完全被忽略,在未转义的字符类之外的 # 以及下一个换行符之间的所有字符,包括两头,也都被忽略。...如果设定了此修正符,模式被强制为“anchored”,即强制仅从目标字符串的开头开始匹配即自动在模式开头加上^。此效果也可以通过适当的模式本身来实现(在 Perl 中实现的唯一方法)。...如果设定了此修正符,模式中的美元元字符仅匹配目标字符串的结尾。没有此选项时,如果最后一个字符是换行符的话,美元符号也会匹配此字符之前(但不会匹配任何其它换行符之前)。

    1.5K20

    「PHP编程」PHP中的这些坑,PHP开发常见填坑备注

    比如,下面我所列的几条: 1、由于使用单引号,以“ ”为分割符,使用PHP函数explode分割字符串,不能正常分割。 原因:这个涉及到单引号与双引号的区别,在单引号中反斜杠不能被解析。...原因:UTF-8 编码的文件可以分为无 BOM 和 BOM 两种格式。何谓BOM? "EF BB BF" 这三个字节就叫BOM,BOM的全称叫做"Byte Order Mard"。...原来,basename函数受操作系统影响,用在 Windows 中,斜线(/)和反斜线()都可以用作目录分隔符,而在其它环境下只能是斜线(/)。...而问题就在于什么样的字符串是数字,是单纯的数字串吗?远远不只于此,还包括 0x 开头的十六进制,XXeX类型的科学记数法 等等,如 '12e0'=='0x0C' 得到的是true。...10、strrchr函数是查找某个字符,而不是查找字符串 在PHP手册上strrchr() 函数的解释是查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符。

    1.2K20

    Perl在ASIC中的应用——高级篇(1):正则表达式

    : ^ 匹配开头 $ 匹配结尾 ....~ m/^tc_/){ ... } 表示如果$tc变量不以tc_开头,则执行{}里的语句。 正则表达式的匹配模式 i 忽略大小写 m 多行处理,即字符串中的换行符把字符串分为多行。...匹配时不能越行 s 单行处理,在这个模式下,元字符.可以匹配换行符 x 允许正则表达式换行和加注释,忽略空白字符 g 查到全局所有可能的匹配,即会匹配多次 e 用于替换,表示替换的新值要先计算...这种方法可用于复杂的查找替换。这种用法,我在编辑APR的IO坐标文件时实际用过,比GVIM或者Emacs的列填充更强大。...#查找目录下的"tc_"开头所有的文件名,在写仿真脚本时常用到 } } 4.

    1.8K20

    理解 CRLF,LF

    最近写的代码就遇到了这个问题。下面是一段按行读取配置文件的 Golang 代码,在读取一行字符之后,去掉开头结尾的换行符与空格。...有时候我们只改了源码中的一行,但提交的时候发现整个文件都被修改了。有时候拉取最新的分支,明明改动不大,但是在与本地合并的时候整个文件都是冲突。...下面介绍两个 Git 中换行符相关的处理方式: 这里先指定两个非官方的概念,方便后面解释与描述:(重要,否则后面看不懂) 标准化 指在提交代码到git数据库(本地库) 中将文本文件中的换行符CRLF转为...于是在规范项目中的换行符方面,还有一套添加配置文件的方案。在项目的根目录下可以添加一个.gitattributes 文件。...filter 的选项比较简单,常见的: * 匹配所有文件 *.txt 匹配文件名以txt结尾的文件 attr的选择比较多,其中与换行符相关的属性只有几条: text text 自动完成标准化与转换

    2.6K41

    Python 换行符以及如何在 Python 输出时不换行

    Python 中的换行符用于标记行的结尾和新行的开始。如果你想将输出打印到控制台并使用文件,那么你非常需要知道如何使用它。...在本文中,你将学习: 如何在 Python 中识别换行符 如何在字符串和打印语句中使用换行符 如何编写不会在字符串末尾添加换行符的打印语句 我们开始吧!...如何不在打印时换行 我们可以通过自定义 print 功能的 end 参数的值来更改此默认行为。...类似的,我们可以使用它在同一行中打印可迭代的值: 输出结果是: 文件中的换行符 在文件中也可以找到换行符 \n,但是它是“隐藏的”。当你在文本文件中看到新行时,其实已经插入新行字符 \n。...提示:只有文件的最后一行没有以换行符结尾。 小结 Python 中的换行符为 \n。它用于指示一行文本的结尾。

    14K10

    posix,perl正则表达式区别

    m(PCRE_MULTILINE): 当设定了此修正符,行起始(^)和行结束($)除了匹配整个字符串开头和结束外,还分别匹配其中的换行符(\n)的之后和之前。...s(PCRE_DOTALL): 如果设定了此修正符,模式中的圆点元字符(.)匹配所有的字符,包括换行符。没有此设定的话,则不包括换行符。...D(PCRE_DOLLAR_ENDONLY): 如果设定了此修正符,模式中的行结束($)仅匹配目标字符串的结尾。没有此选项时,如果最后一个字符是换行符的话,也会被匹配在里面。...POSIX兼容正则和PERL兼容正则“[]之外”“一致”的元字符: \ 有数种用途的通用转义符 ^ 匹配字符串的开头 $ 匹配字符串的结尾 ?...任一非空白字符 \w 任一数字、字母或下划线的字符 \W 任一非数字、字母或下划线的字符 \b 字分界线 \B 非字分界线 \A 目标的开头(独立于多行模式) \Z 目标的结尾或位于结尾的换行符前(独立于多行模式

    1.4K20

    【C++】小心使用文件读写模式:回车(r) 换行(n)问题的一次纠结经历

    4.查看文件F,行结尾是\r\n,而我记得当初生成文件的时候是以\n作为换行符的,纠结一番后想起来了文件读写的模式,只记得是文本与二进制的区别,没有想起来换行符的问题。...例如,对于Windows文本文件,他们使用两个字符的组合吧(回车和换行)表示换行符;Mac文本文件使用回车表示换行符;而UNIX和Linux文件使用换行来表示换行符。...为增加可移植性,Windows C++程序在写文本模式文件时,自动将C++换行符转换为回车和换行;Mac C++程序在写文件时,将换行符转换为回车。...在读取文本文件时,这些程序将本地换行符转换为C++模式。对于二进制数据,文本格式会引起问题,因为double值中间的字节可能与换行符的ASCII码有相同的位模式。另外,在文件末尾的检测方式也有区别。...后续验证: 后来写了一个小程序验证了一下所知,不懂的话可以复制下来跑一下,注意是Windows平台,生成的文件可以用wxHexEditor来查看以二进制形式查看。

    3K70

    有关于正则匹配的s和m修饰符的小Tip

    ,但这两个的符号本身的含义其实是代表了“行的开头和结尾”,也就意味着如果你输入一个%0a换行,后面就可以输入任何字符也能完成匹配。...比如上面的代码本身的含义可能是:用户输入一个以a开头,以z结尾的中间可以有若干字母的字符串。...解决的办法也很简单,使用s修饰符即可,这样的话`.“可以匹配上所有字符,自然也就包含了换行符。 那如果我们不加修饰符,结果如何呢?....` 不能匹配换行符 加s -> single line,且 `.` 匹配包括换行符在内的所有字符 加m -> multi line 同时加s和m -> multi line,且 `.` 匹配包括换行符在内的所有字符...PS:在第一个代码中你也会发现如果input本身以`\n`结尾的话也是可以成功匹配的,所以严格来说也是可以算是一个漏洞,毕竟写代码的人本意是以z结尾的。

    73810

    文件上传解析漏洞

    .asp字符串的(目录下)均按照asp文件进行解析;例如:index.asp/目录中的所有文件都会asp解析 当出现xx.asp命名的文件名,访问目录下任意一个文件,均会送给asp.dll解析(执行...设置为 0 IIS7的解析漏洞主要是由于PHP的配置不当导致的 Windows操作系统中,文件名不能以空格或“.”开头,也不能以空格或“.”结尾。...当把一个文件命名为以空格或“.”开头或结尾时,会自动地去掉开头和结尾处的空格和“.”。利用此特性,也可能造成“文件解析漏洞”。...> 绕过客户端校验: 使用FireBug开发者工具,在本地构造一个可以越过触发校验函数即可提交表单的内容;让校验函数不被调用即可绕过。...相关的内容)采用黑白名单过滤的机制 文件内容体检测(检测内容是否合法或者恶意代码) 目录验证 MIME校验:Content-type Content-type字段显示文件的MIME类型

    1.9K20

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券