可以说我有
string1 = "DDD DXXXX"
string2 = "DDXXXX"
string3 = "DXXXX"
如果我想一直提取 XXXX,那么 c 中最好的方法是什么?substr、strncpy、strndup 一切都需要一个起始位置。
正则表达式是唯一的选择吗?
可以说我有
string1 = "DDD DXXXX"
string2 = "DDXXXX"
string3 = "DXXXX"
如果我想一直提取 XXXX,那么 c 中最好的方法是什么?substr、strncpy、strndup 一切都需要一个起始位置。
正则表达式是唯一的选择吗?
用于strstr()
定位"XXXX"
:
char string1[] = "DDXXXX";
char* xxxx_ptr = strstr(string1, "XXXX");
if (xxxx_ptr)
{
/* Do something. */
}
如果您知道它始终位于末尾且具有固定长度,则可以通过计算字符串 ( strlen()
) 的长度并减去固定长度来计算其起始位置。
这假设子字符串始终是您检查的字符串的一部分