我解決它像
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