0

可以说我有 string1 = "DDD DXXXX" string2 = "DDXXXX" string3 = "DXXXX"

如果我想一直提取 XXXX,那么 c 中最好的方法是什么?substr、strncpy、strndup 一切都需要一个起始位置。

正则表达式是唯一的选择吗?

4

2 回答 2

2

用于strstr()定位"XXXX"

char string1[] = "DDXXXX";
char* xxxx_ptr = strstr(string1, "XXXX");
if (xxxx_ptr)
{
    /* Do something. */
}
于 2012-04-15T22:48:18.353 回答
1

如果您知道它始终位于末尾且具有固定长度,则可以通过计算字符串 ( strlen()) 的长度并减去固定长度来计算其起始位置。

这假设子字符串始终是您检查的字符串的一部分

于 2012-04-15T22:45:15.527 回答