将动态阵列中的字符与char进行比较

comparing a char in a dynamic array with a char

本文关键字:char 比较 字符 动态 阵列      更新时间:2023-10-16

我想打印一个动态的char数组,该数组在实际末端之前具有 0字符。我正在通过每个索引使用cout打印它。

for (int i = 0; i < size; i++) {
        std::cout << content[i];
}

但是当我通过一个 0字符来检测时,我正在使用:

if (content[i] == 0) {
     std::cout "zero";
}

我尝试做

if (content[i] == "") {
     std::cout "zero";
}

但是我不能进行比较,因为您显然无法比较const char*char

我做错了什么?我该如何进行比较?

char array btw:

char * content = new char[size];
file.seekg(0);
file.read(content, size);

in

if (content[i] == "")

""是字符串字面的,在这种情况下为const char [2]。这会腐烂到指针,从而将const char *char和编译器错误进行了比较。

你想要

if (content[i] == '')

将无效作为角色。也就是说,整数可以与char进行比较,因此if (content[i] == 0)是有效的,但是(我的看法(不如明确制作无效的字符。

进一步读取:C 中的单引号与双引号(Chris提供了链接(

如果statement,请尝试使用"0",从那以后,您将比较相同的类型