首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(C)在以文本模式而不是二进制模式写入文件时,哪些字符会受到影响?

(C)在以文本模式而不是二进制模式写入文件时,哪些字符会受到影响?
EN

Stack Overflow用户
提问于 2017-01-15 19:52:48
回答 2查看 70关注 0票数 1

我在准备考试的时候遇到过这个问题。给出的答复如下:

( a) 'a'

( b) '\n'

( c) '012'

( d) '\0'

我试着找出一般规则,但失败了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-15 20:43:35

在列出的4种模式中,只有'\n'肯定会受到以文本模式而不是二进制模式写入文件的影响。

对于文本文件,新的行字符'\n'通常被翻译成/从'\n' (不变)、"\r\n"或很少\r'

'012'是一个具有实现定义值的多字符常量,不会受到模式的影响。

未列出的'\012'是使用八进制转义序列的字符常量。当ASCII是源编码时,它的行为类似于'\n'

未列出的012是一个八进制常数。它的行为类似于'\012'

如果你问我的话。

票数 4
EN

Stack Overflow用户

发布于 2017-01-15 20:00:04

假设ASCII,八进制值012与行提要(\n)字符相同,所以b、c和d)是正确的答案(行尾将更改为适合您的系统的任何内容,可能是\r\r\nfprintffputs将停止于空字符;fwrite (二进制)不会)。

如果您的字符集没有明确声明为ASCII,那么唯一安全的假设是b)和d),换行符\n和null终止符\0在二进制模式下将与文本模式不同。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41665613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档