C 中的自动制表符到 HTML

auto tab in C to HTML

如何将 C 代码中的自动制表符转换为 html,以便在 html 中看起来整齐对齐。只使用 4spaces 安全吗?但有时,1tab 不仅仅是 4 spaces、1,2 或 3 space。请帮忙,谢谢!

int x ;             /* comment tab  */
x = 0U ;            /* comment tab  */

if ( Gvar == 3U)    /* comment tab  */
{                   /* comment tab  */
    x++ ;           /* comment tab  */
}                   /* comment tab  */
Gvar = 99U ;        /* comment tab  */

return ( 0 )        /* comment tab  */

很明显,您不能随便将每个制表符转换为四个空格。这不是标签的工作方式。相反,您希望每个制表符将输出位置推进到下一个制表位。

你基本上有两个选择:

1。指定一个 CSS tab-size:

pre { tab-size: 4; -o-tab-size: 4; -moz-tab-size: 4; }
<pre>
int main() {
 return 0;  /* This is a comment */
}
</pre>

这是最简单的解决方案,可惜the tab-size rule isn't recognized by IE or Edge

2。预处理源代码:

通过 expand command line utility 管道传输 C 源代码,将所有制表符转换为空格。例如:

expand -t4 <c_source.c >c_source_with_expanded_tabs.c