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

标签 c file text io binary

我在备考的时候遇到过这个问题。给出的答案是:

a) 'a'
b) '\n'
c) '012'
d) '\0'

我试图找到一般规则,但我失败了。

最佳答案

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

对于文本文件换行符 '\n' 通常转换为/自 '\n '(无变化)、"\r\n",或极少使用 \r'

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

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

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

如果你问我偷偷摸摸的测试。

关于c - (C) 当以文本模式而不是二进制模式写入文件时,哪些字符会受到影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41665613/

相关文章:

c - 自制fstat获取文件大小,总是返回0长度

java - JPG 处理器 Java 代码抛出空指针异常

Java:仅替换文件中的一行/字符串

c - 在 C 中将未初始化的二维数组作为参数传递

c++ ->= 优先级高于 | 的直观原因

c - 如何在链接期间替换 pthread_create

text - 将文本模型暴露给可编写脚本的环境的 Emacs 替代方案?

java - 如何使用 Java 将 text/html 和 text/plain 复制到剪贴板

c# - 测量以指定宽度包裹的文本高度

c - 使用 header 实现(通用的,不是 C++)类似接口(interface)的行为