我正在使用缩进来以这种方式在Ubuntu下格式化C源代码
indent -linux -l120 -i4 -nut filename
不知何故,几个文件在压头后打破了格式。结果看起来像这样
unsigned char get(const unsigned char *buffer, unsigned char *byte)
{
unsigned char size = sizeof(char);
*byte = *buffer;
return size;
}
而不是
unsigned char get(const unsigned char *buffer, unsigned char *byte)
{
unsigned char size = sizeof(char);
*byte = *buffer;
return size;
}
是什么原因以及如何确保正确的缩进?
答案 0 :(得分:4)
indent -linux -l120 -i4 -nut
给了我一个合理的输出。例如:
[me@home]$ cat x.c
unsigned char get(const unsigned char *buffer, unsigned char *byte) {
unsigned char size = sizeof(char);
*byte = *buffer;
return size; }
[me@home]$ indent -linux -l120 -i4 -nut x.c
[me@home]$ cat x.c
unsigned char get(const unsigned char *buffer, unsigned char *byte)
{
unsigned char size = sizeof(char);
*byte = *buffer;
return size;
}
所以这不是indent
的问题。
我怀疑你文件中的恶作剧EOL字符是indent
不承认的。尝试在dos2unix
之前通过indent
运行您的文件。