2016-11-28 9 views
-1

我試圖在C++中實現一個類似shell的應用程序的行解析器。這個想法是,無論用戶插入什麼行,我都會刪除所有的空格,並且每個單詞之間只留下一個空格('')。例如: :「ls_ \ t_-l \ r \ a」將被轉換爲「ls_-l」。 之後,我將每個單詞移動到一個矢量中,然後將它們移動到一個char數組中。我知道這有點讓人興奮,但卻與我無緣。 這個想法是,它只複製第一個單詞(例如從ls -l只複製ls),然後複製null。如果我有更多的觀點,情況就會變得更糟。試圖實現一個類似shell的應用程序的行解析器[C++] [UNIX]

這裏是我的代碼:http://pastebin.com/cWV1LTSn 此外,參數表是在主要的分配是這樣的: 字符** currArgs =(字符**)的malloc(32 *的sizeof(字符*));
currArgc全局分配。

P.S.我在複製完所有參數後在末尾添加'\ 0',所以它可以在execvp中使用。

回答

0

發現問題!而不是參數++; * ARGS = '\ 0';我需要做我++; ARGS [I] = '\ 0';

相關問題