本站網友提到Linux小工具indent,試用了一下,果然很好用,現總結一下,期望能給讀者帶來協助。
下載和安裝:
1.對 Linux(Fedora)使用者來說,最簡單的安裝方式是"yum install indent"
2. Windows
使用者可從http://gnuwin32.sourceforge.net/packages/indent.htm下載。
用法:
請參閱:http://www.worldhello.net/doc/program_rules/indent.html,該文給出詳細的用法。
試用了幾次,我發現參數“-i4 -bli0 -ut -ts4”是我喜歡的風格。
批量格式檔案的方法(我自己寫的指令碼,已經過驗證)
1.Windows 使用者:
1. 進入你需要格式整理的原始碼根目錄
2.將下面的內容另存新檔 indent_my_prg.bat
3. 運行indent_my_prg.bat
@echo off
setlocal enabledelayedexpansion
dir *.c /s /b>c_list.txt
for /f "tokens=1* delims=" %%a in ('findstr . c_list.txt') do (
::echo %%a
set aa=%%a
indent -i4 -bli0 -ut -ts4 !aa!)
1.Linux 使用者:
1. 進入你需要格式整理的原始碼根目錄
2. 將-------下面的內容另存新檔 indent_my_prg_in.sh
3. 運行indent_my_prg_in.sh
@echo off
setlocal enabledelayedexpansion
dir *.c /s /b>c_list.txt
for /f "tokens=1* delims=" %%a in ('findstr . c_list.txt') do (
::echo %%a
set aa=%%a
indent -i4 -bli0 -ut -ts4 !aa!)
Indent 到底能夠將代碼排成什麼樣的,下面給出一個例子,以下給出一個格式比較變態,可計算大數階乘的程式
#define N 100
int a[N*5]={1},n=N,i,c,m=1;main(){for(;n;n--){for(c=i=0;i<m||c;)a[i++]=(c+=a[i]*n)%10,c/=10;m=i;}for(;m;)putch(a[--m]+48);}
下面是格式重排後的代碼,是不是好看了很多。
#define N 100
int a[N * 5] = { 1 }, n = N, i, c, m = 1;
main ()
{
for (; n; n--)
{
for (c = i = 0; i < m || c;)
a[i++] = (c += a[i] * n) % 10, c /= 10;
m = i;
}
for (; m;)
putch (a[--m] + 48);
}