考慮這個功能我寫了真正的快速查找特定字符的最後一次出現在一個字符串並返回它的字符數組中的位置在物理上是字符串:找到最後一個字符出現的最有效的方法
size_t strlstchar(const char *str, const char ch)
{
char *chptr = strrchr(str, ch);
return chptr - str;
}
我只是在這裏真正快速地輸入了它(尚未編譯或尚未完成),只是因爲我對幾件事情有疑問。
對我來說,這似乎是最簡單的解決方案,以找到哪個數組元素保存特定字符的最後一個實例,但我不知道它是如何工作的。我只是按照strrchr的文檔來做這件事,所以它在技術上做得更好。我無法想象這是實現這一目標的最好方式(就性能而言),並希望有人能夠就如何做到這一點的最佳方式提供一些意見。
是否strrchr是一種有效的方法?或者strrchr最適合其他用途?
strrchr可以返回NULL,從而使您的函數的結果很難預測何時無法找到字符。通常「-str」可以看作是一個隨機數,然後轉換爲size_t,你怎麼知道你沒有找到char? – xryl669