我编写了一个可以在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/

10-09 12:45