我有以下問題:如何確定char指針數組元素的總字符長度?
我有字符指針
char *opts[] = { "-a", "--append", "-b" };
的陣列和存儲在
char cmd[] = "ls";
命令名稱現在我需要計算所有可能的組合,這是我我們已經完成了使用GNU科學圖書館並用計算組合執行命令。
我的問題是如何計算的內存,我需要的字符*獲取傳遞系統()的數量。
這是我第一次嘗試:
int length = strlen(cmd) * sizeof(char);
for (int i = 0; i < 3; ++i) {
length += strlen(opts[i]) * sizeof(char);
}
好,它的工作,但我感覺到,這是不正確的/最佳的解決方案。我無法將二維數組轉換爲平坦的一維數組並獲取其大小(如果我沒有錯,C中沒有多維數組,C只能模仿它們)。
,因爲一切都在映射到一維結束內存空間,沒有語言真正有多維陣列... – fortran 2010-02-12 16:03:29