可移植性,如果csv文件在windows上使用CRLF换行



我开发了一个命令行工具,它可以将某种二进制数据转换为csv文本。现在我要把它移植到Windows上,我仍然不确定是应该专门为Windows写"rn"换行符,还是像往常一样写"n"。

我希望在所有平台上都有完全相同的输出。但我不是Windows用户,也不知道可能会出现什么问题。你认为Windows上常用的数据挖掘器可以没有'r'吗?

例如,我试过"excel","cmd"one_answers"more"-没有'r'没有发现任何问题。记事本失手了,但谁在乎呢?

铜、鲁迪

好吧,我决定不再输出窗口换行,即使在标准输入和标准输出。顺便说一句,我注意到在O_BINARY模式下编写比默认的O_TEXT模式快两倍。

这就是我现在正在做的:

#ifdef _WIN32
    #include <fcntl.h>
    #include <io.h>
#endif
...
#ifdef _WIN32
    /* never write CRLF line feeds */
    _setmode(_fileno(stderr),_O_BINARY);
    _setmode(_fileno(stdout),_O_BINARY);
#endif

最新更新