增加 xy_str_find

This commit is contained in:
Mikachu2333 2025-10-01 15:45:59 +08:00 committed by 曾奥然
parent bb2d3af1f3
commit 027c40c8e9

View File

@ -9,7 +9,7 @@
* | BingChunMoLi <bingchunmoli@bingchunmoli.com>
* |
* Created On : <2023-08-28>
* Last Modified : <2025-08-27>
* Last Modified : <2025-09-29>
*
*
* xy:
@ -609,6 +609,42 @@ xy_str_strip (const char *str)
return new;
}
typedef struct
{
bool found;
size_t begin;
size_t end;
}
XyStrFindResult_t;
/**
* @brief 0 end
*/
static XyStrFindResult_t
xy_str_find (const char *str, const char *substr)
{
XyStrFindResult_t result = { .found = false, .begin = 0, .end = 0 };
if (!str || !substr)
return result;
if ('\0' == substr[0])
{
result.found = true;
return result;
}
const char *pos = strstr (str, substr);
if (!pos)
return result;
result.found = true;
result.begin = (size_t) (pos - str);
result.end = result.begin + strlen (substr) - 1;
return result;
}
/**
* @brief
@ -1617,4 +1653,5 @@ xy_map_each (
}
}
#endif