我开发了一个命令行工具,它可以将某种二进制数据转换为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