如何在C中使用字符串數組作爲參數?如果我要寫一個帶簽名的函數:c中的字符串數組
猜猜我沒有解釋自己很好......我會發布我想要工作的代碼。
int format_parameters(char* str) {
char local_str[201] = "";
int i = 0;
int j = 0;
int flip = 0;
while(str[i]) {
if((str[i] == '"') && (flip == 0)) flip = 1;//Sentence allowed
else if((str[i] == '"') && (flip == 1)) flip = 0;//Sentence not allowed
if(flip == 1) append_char(local_str, str[i]);
//check if space
else if(flip == 0) {
int c = str[i];
if(!isspace(c)) append_char(local_str, str[i]);
else {
if((strlen(local_str) > 0) && (j < 4)) {
//local-str copied to param[j] here
//printf("j = %d %s\n",j,local_str);
local_str[0] = '\0';
j++;
}
}
}
i++;
}
//Add \0 to param
return flip;
}//end format_parameters
void append_char(char* str, char c) {
int len = strlen(str);
str[len] = c;
str[len+1] = '\0';
}//end append_char
int main() {
char str[200];
//str filled with stuff...
int x = format_parameters(str);
}
應該有一個第二(和第三?)參數在format_parameters
簽名,char* param[5]
這應該是從main
可讀。
您需要知道數組中有多少個插槽作爲'param'傳遞;這需要函數的額外參數。 – 2010-10-07 07:10:00