为什么缩进会破坏源代码格式?

时间:2013-05-16 13:43:35

标签: c indentation

我正在使用缩进来以这种方式在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;
}

是什么原因以及如何确保正确的缩进?

1 个答案:

答案 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运行您的文件。