不同的平台使用不同的线路分隔方案(LF、CR、CR、NEL、Unicode线分离器等)。C++ (和C)运行时库通过将'\n'与目标平台的原生新行编码进行转换,使大多数程序具有很大的透明性。但是,如果您的程序需要确定实际使用的字节序列,您如何可以移植?
我想出的最好的方法是:
translation.
'\n',运行时可以以二进制模式返回临时文件,以查看实际的字节。这感觉很疯狂。有没有办法不使用临时文件呢?我尝试了字符串,但是运行时实际上并不能在这个上下文中转换'\n' (这是有意义的)。运行时是否以其他方式公开这些信息?
发布于 2010-05-01 16:35:29
我不是C/C++专家,但是标准库中似乎没有任何东西可以直接给出行分隔符。翻译由文本模式文件函数透明地处理.
尽管你觉得你的方法是“疯狂的”,但它可能是最简单和最可靠的,因为你真的是在测试使用和写出哪一行分隔符。并且是可移植的,因为您正在使用标准库函数来编写和读取文件。
https://stackoverflow.com/questions/2750636
复制相似问题