看看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