【发布时间】:2020-08-27 13:34:15
【问题描述】:
在我的主代码中,我有一个操作,我想将字符串“word[i]”的某个字符与拉丁字母“b”进行比较。显然我尝试使用“ word[i] == "b" ”但出错了。经过一番研究,我发现在 C++ 中“word[i] == "b"” 比较两个指针。有人建议应该使用 strcmp() 来代替。
所以我使用了 strcmp() 但仍然出现错误。有人可以向我解释为什么它不起作用吗?
最小的工作示例:
#include <iostream>
#include <cstring>
using namespace std;
int main(){
string test;
cin >> test;
if(strcmp(string[0], "a") == 0){
cout << "yes";
}
}
-->
untitled.cpp: In function ‘int main()’:
untitled.cpp:8:18: error: expected primary-expression before ‘[’ token
8 | if(strcmp(string[0], "a") == 0){
| ^
Compilation failed.
【问题讨论】:
-
请不要修改问题以应用答案中提供的修复。这样做会改变编写这些答案的上下文并使它们无效。如果您有其他信息,请将其添加到问题的底部。
标签: c++ string char comparison