C++:如何在带有 if 的字符串中找到特定字符?字符串的"=="等价物是什么(如果有的话)?



例如,我想检测字符串中的负数。我不确定将char转换为const char*是否有效(因为这样做会很痛苦,因为我不知道它会如何影响我的其余代码)。是否有一种方法可以检查输入[I]的任何值是否"等于"。少量/消极吗?

#include <iostream>
#include <string>
#define LOG(x) std::cout<<x<<std::endl;
char solveBIG(std::string input) {
for (int i = 0; i < input.size(); i += 2) {    
if (input[i] = "-") {
//
}
}
}
int main() {
std::string example1 = {"1 2 3 - 5"};
LOG(solveBIG(example1))
}

您需要小心区分操作符===。第一个是赋值操作符,第二个是相等比较操作符。

你把它弄混了。

现在,如何检测字符串中的'-'?

解决方案:您将遍历字符串并将字符串中的每个字符与'-'字符'进行比较。

更多的解释:在许多编程语言中,所谓的循环s用于执行或重复代码块。

或者doiterateover"某事"。因此循环也称为迭代语句

c++也有循环迭代语句。基本的循环结构是 对循环
  • ,
  • 循环
  • ,
  • 延伸的循环
  • 基于范围的for循环

请点击链接并阅读c++参考中的描述。你可以使用它们中的任何一个来解决你的问题。


此外,您需要知道string容器容器表示这种类型的变量包含来自几乎任何类型的其他元素。

例如,string包含字符。

示例:如果您有一个等价于"Hello"的字符串,那么它包含字符'h','e','l','l','o'

一些容器的另一个很好的属性是,它们有一个索引操作符,或者更确切地说,一个下标操作符[]。因此,如果要访问字符串中的一个字符,可以简单地使用变量名和下标操作符中指定的索引。 <<p>非常重要/strong>: c++中的索引从0开始。因此,string中的第一个字符位于索引0处。例子:
std::string test = "Hello";
std::cout << test[0];

将打印H.

有了以上的知识,我们现在可以很容易地解决你的问题了。我们将遍历字符串中的所有字符,然后检查每个字符是否为'-'

许多可能的实现之一:

for (int i = 0; i < input.size(); ++i) {    
if (input[i] == '-') {
//
}
}

最新更新