分解命令列字串為argc和argv

2021-06-02 10:01:30 字數 656 閱讀 5460

有時候需要把乙個空格分隔的長字串分解為引數個數和引數指標,一種方法是使用strtok()函式,在核心裡面沒有找到這個函式,所以自己寫了乙個分解長字串的函式。

int parse_argv(char* str, int*argc, char** argv, int number);

int parse_argv(char* str, int* argc, char** argv, int number)

if((*p == ' ') || (*p == '\t'))

if(num >= number)

break;

if(word_start)

p++;

}*argc = num;

return 0;

}

使用方法:

void test()

{#define max_cmd_argv 5

int argc = 0;

char test_str = "this is a string";

char *argv[max_cmd_argv];

int n;

parse_argv(test_str, &argc, argv, max_cmd_argv);

for(n=0;n

命令列選項 字串 模擬

時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 請你寫乙個命令列分析程式,用以分析給定的命令列裡包含哪些選項。每個命令列由若干個字串組成,它們之間恰好由乙個空格分隔。這些字串中的第乙個為該命令列工具的名字,由小寫字母組成,你的程式不用對它進行處理。在工具名字之後可能會包含若干選項...

DOS命令列字串長度的問題

在計算機上執行 microsoft windows xp 或更高版本,可以在命令提示符下使用的字串的最大的長度 8191 個字元。在執行 microsoft windows 2000 或 windows nt 4.0 的計算機上,將最大長度可以在命令提示符下使用的字串的為 2047 個字元。此限制將...

C字串函式和命令列引數的學習心得

1.字串排序 由於在學校已經學過了兩種 冒泡和選擇 排序方法,所以這一章學起來毫無壓力,簡而言之,就是使用排序演算法對乙個二維陣列的第一維進行排序。由於字串基於陣列處理,所以對字串進行排序實際上是對指向每個字串的指標進行排序。2.命令列引數 學了半個多學期的c今天終於知道main的引數到底是什麼了。...