You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MSVC文本模式下写入CR LF的换行转换行为探究

Windows MSVC文本模式下换行符写入行为解析

在MSVC的C运行时库中,文本模式的换行符转换规则是仅对单独的LF(\n)进行替换:输出时,每一个独立的\n会被自动替换为CR LF(\r\n)组合;而CR(\r)字符本身不会被修改,会原样写入文件。

当你执行fprintf(stream, "\r\n");时,实际的写入过程是:

  • 先写入\r(回车符),这个字符不会触发任何转换;
  • 接着写入\n(换行符),此时文本模式的转换规则生效,\n被替换为\r\n;
  • 最终文件中会得到的字节序列是\r + \r\n,也就是CR CR LF。

关于这个行为的详细说明,MSVC的C运行时库文档明确指出:文本模式下的输出转换仅针对LF字符,CR字符不会被转换或修改,会直接保留在输出流中。

内容的提问来源于stack exchange,提问作者tueda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 03:57:02