我解决它像
int64 Compare(CHAR c1, CHAR c2, bool ignoreCase = false)
{
return ignoreCase ? _strnicoll(&c1, &c2, 1) : _strncoll(&c1, &c2, 1);
}
int64 IndexOf(const CHAR* buffer, CHAR c, uint count, bool ignoreCase = false)
{
for (uint i =0; i < count; i++)
{
if (Compare(*(buffer + i), c, ignoreCase) == 0)
{
return i;
}
}
return npos;
}
int64 LastIndexOf(const CHAR* buffer, CHAR c, uint count, bool ignoreCase = false)
{
while(--count >= 0)
{
if (Compare(*(buffer + count), c, ignoreCase) == 0)
{
return count;
}
}
return npos;
}
非营利组织= -1
并指定开始指数通至(缓冲液+的startIndex)作为缓冲到第二或第三方法
感谢您的回答,但我认为这不是一个很好的做法来改变一个数据的内容只是一个搜索,如果另一个线程同时要求字符串或其长度?这会造成问题。 – ahmedsafan86