不同的平台使用不同的行分隔符方案(LF,CR-LF,CR,NEL,Unicode LINE SEPARATOR等).C++(和C)运行时库通过转换'\n'为目标平台的本机新行编码,使大多数程序透明化.但是如果你的程序需要确定使用的实际字节序列,你怎么能这样做呢?
我提出的最好的方法是:
'\n',让运行时进行翻译.这感觉很糟糕.有没有办法在没有临时文件的情况下做到这一点?我尝试使用字符串流,但运行时实际上并没有'\n'在该上下文中转换(这是有道理的).运行时是否以其他方式公开此信息?
我不是C/C++专家,但标准库中似乎没有任何东西会直接为您提供行分隔符.翻译由文本模式文件功能透明地处理.
即使你觉得你的方法是"kludgy",它可能是最简单和最可靠的,因为你真的在测试使用和写出的行分隔符.并且是可移植的,因为您使用标准库函数来写入和读取文件.
| 归档时间: |
|
| 查看次数: |
1228 次 |
| 最近记录: |