c - 关于 'Comparison between pointer and integer in C' 的警告

标签 c csv compiler-errors compiler-warnings

我正在使用 C 中的文件处理来打开 CSV 文件,由于我使用的是 Windows 操作系统,因此 CSV 文件的换行符是\r\n

    if( buffer[i] == "\r\n")
    {
        printf("New line encountered");        
    }

但是当我编译代码时,我收到错误“警告:指针和整数之间的比较”。那么有什么办法可以解决这个问题吗?

编辑:

    if (buffer[i]=='\r' && buffer[i+1]=='\n')

上面的代码行已经删除了警告,但仍然没有检测到换行符

最佳答案

buffer[i]是字符,“\r\n”是字符串,不能比较。如果这样做,字符将转换为整数,并显示您看到的警告。

可以使用'\r' == buffer[i] && '\n' == buffer[i + 1]来比较它们,并注意索引边缘。

关于c - 关于 'Comparison between pointer and integer in C' 的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46922536/

相关文章:

c++ - C/C++ 中两个 INT_MAX 数字的乘积不正确

c - 你如何找到一个 float 最接近的非等值?

python - 如何使用 python 对 CSV 文件的多列进行排序?

sql - 将 CSV 导入 Sqlite 时省略列

mysql - 使用 OUTFILE 将 mySQL 导出为 CSV

Java 泛型 : Wildcard capture compilation error

c - 在AVR studio中将温度转换为电压

java - 错误 : incompatible types: android. content.Context 无法转换为 com.google.firebase.database.core.Context

compiler-errors - s.Count(Char.IsLetter) 有什么问题

c - 关于一个小型内存分配程序的问题(41行)