c++ - 如何查找和比较字符数组的元素

标签 c++ c

我需要比较字符串的元素。我尝试运行以下代码,但这不起作用。知道如何访问字符串元素并与字母表进行比较吗?

char* my_string = "Excellent";

if ( strcmp (my_string[0], "D") ) 
{
 printf("\n\rThe First Element is D: \n\r");    
}

if ( strcmp (my_string[0], "E") ) 
{
 printf("\n\rThe First Element is E: \n\r");    
}

最佳答案

my_string[0] 是一个 char,应与 'D'(另一个字符)进行比较,其中 ==,不与“D”(字符串文字)与 strcmp 进行比较,仅适用于 ASCIIZ (以 null 结尾的)字符串。

另外,您应该(在 C++ 中至少必须)使用 const char* my_string = "Excellent";,表明您无法更改文本 my_string 指向(大多数编译器会将其放入只读内存中,即使它们不这样做,您也不应该更改它,因为编译器有权假设它永远不会被更改。)。

关于c++ - 如何查找和比较字符数组的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68923570/

相关文章:

c++ - 如何识别大型 C++ 非托管应用程序中的错误转换?

c++ - 调用栈上的单例类

c - pgcc,C - 循环未并行化 : may not be beneficial

c - 将加密加速单元与 uclinux 和外部库结合使用

iPhone 媒体播放器框架访问原始文件

时间:2019-03-17 标签:c++c-style零初始化{0}

c++ - mysql c++ 连接器错误 : linker command failed with exit code 1

c++ - 双向链表的输出

python - 用 Python 写入 IC

c - 打印结构对象时出现段错误