看看strstr
功能。它可以讓你找到指針到第一個出現在另一個字符串內的特定字符串(比如"Group:"
)。一旦你有兩個指針(你的字符串的開頭和結尾),你可以使用malloc
(不要忘記終止零'\0'
)分配足夠的內存,使用memcpy
複製字符,最後零終止你的字符串。
int main() {
char ac_auto_lvalue[] = "ONLY/GROUP: OTHERS EXAMPLE /-----------------------------";
// Adding 7 to compensate for the length of "GROUP: "
const char *p1 = strstr(ac_auto_lvalue, "GROUP: ")+7;
const char *p2 = strstr(p1, " /");
size_t len = p2-p1;
char *res = (char*)malloc(sizeof(char)*(len+1));
strncpy(res, p1, len);
res[len] = '\0';
printf("'%s'\n", res);
return 0;
}
你可以顯示你到目前爲止的任何代碼嗎? 'strstr()'會被使用。 – hmjd 2012-03-29 15:55:18
否;我沒有任何代碼,很長一段時間,我沒有用C編寫任何代碼,只是爲了快速修復這個問題......儘管我會嘗試寫一些東西並測試...... – Vikas 2012-03-29 16:03:54