我编写了一个可以在Linux和Windows上运行的应用程序。为了便于移植,将新行作为\ r \ n。该应用正在记录一些有用的信息以进行调试。是在Linux中记录信息的系统日志。打开系统日志文件时,所有\ r字符均显示为^ M。我发现在syslog文件上使用dos2unix将删除^ M。但是我想在它们进入系统日志时删除^ M。如果除了更改代码(使用#ifdefs)以外,还有任何配置设置或其他解决方法,请提供。谢谢 ...
最佳答案
如果您不在Windows上,请不要写\ r。
您可以定义一个NEWLINE常量,如下所示:
#ifdef _WINDOWS
#define NEWLINE '\r\n'
#else
#define NEWLINE '\n'
#endif
并使用它。
有关更多信息,请参见here。
关于linux - 在进入系统日志文件时删除\r,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16980081/