C 中的精确字符串匹配和子字符串转换
确定 C std::string 是否以给定字符串开头,如提供的 Python 示例,使用接受搜索位置参数的 rfind 重载。具体方法如下:
<code class="cpp">std::string s = "tititoto"; if (s.rfind("titi", 0) == 0) { // pos=0 limits search to the prefix // s starts with the prefix }</code>
C 20 及后来引入了starts_with 方法,简化了过程:
<code class="cpp">std::string s = "tititoto"; if (s.starts_with("titi"s)) { // "s" suffix creates a std::string_view // s starts with the prefix }</code>
现在,让我们考虑 int 转换。在原始 Python 代码中,使用切片符号 [len('--foo='):] 提取子字符串。要在 C 中实现相同的目的,请使用 substr 方法:
<code class="cpp">std::string argv1 = "--foo=98"; std::string foo_value_str = argv1.substr(argv1.find("=") + 1); int foo_value = std::stoi(foo_value_str);</code>
通过使用这些技术,您可以在 C 中检查字符串前缀并将子字符串有效地转换为整数。
以上是如何在 C 中检查字符串前缀并将子字符串转换为整数?的详细内容。更多信息请关注PHP中文网其他相关文章!