0
我有一個多餘的空格字符串,例如一個字符串:我想這CONVER到如何從字符串中刪除C多餘的空格
char * s = " foo baa ";
:
foo baa
我已經寫了這個功能:
void trim (char ** src)
{
char * p = strdup(* src);
char * ret = malloc(strlen(*src) + 1);
assert(ret != NULL);
char * token;
token = strtok(p, " \t");
while(NULL != token) {
while (*token) {
*(ret ++) = *(token ++);
}
token = strtok(NULL, " \t");
}
printf("ret = %s\n", ret);
}
但它給了我一個空字符串ret
變量值。有人可能會指出我的錯誤?提前致謝。
1。循環結束後,'ret'指向終止空字符。 – 2012-03-12 20:26:56
謝謝!工作正常。你有提高這個C代碼的提示嗎? – user834697 2012-03-12 20:49:28
@CarlNorum:錯字。我在我的真實代碼中做到了。 – user834697 2012-03-12 20:50:48