我讀的mcachefs
代碼和無法理解的一些代碼,如下圖所示:argv [1] [0]是什麼意思?
printf("mcachefs " __MCACHEFS_VERSION__ " starting up...\n");
if (argc == 1 || argv[1][0] == '-')
{
fprintf(stderr,
"\tError : first argument shall be the the mcachefs_mountpoint !\n");
exit(2);
}
我有兩個問題: 1:printf("mcachefs " __MCACHEFS_VERSION__ " starting up...\n")
,是使用printf
正確的方法是什麼?我從來沒有見過這樣的使用方式。
argv[1][0]
是什麼意思?我知道argv[]
代表命令行中的參數。但是,是不是一維數組?
我覺得原來的方法比較好,因爲如果一些奇怪放置在宏編譯器會抱怨:如果字符指針用來argv數組外,可能再清楚不過了。使用這種方法,如果有人修改宏,您可能會打印垃圾/崩潰程序。 – nhahtdh 2012-08-01 11:16:54
他應該仍然使用puts而不是printf – 2012-08-01 13:39:42
@nhahtdh你可以打印垃圾或以原始方式崩潰程序,如果修改結束。 – 2012-08-01 13:58:51