ISO C ++禁止指针和整数之间的比较:C错误中的文件处理

时间:2015-09-07 18:52:21

标签: c casting

我正在尝试从文件中读取。看完之后,我想显示它的内容。我的程序看起来像:

#include <stdio.h>
#include <string.h>
#include <stdio.h>


int main(int argc, char const *argv[])
{
    // 
    char array_of_input[10][10];
    FILE *fp;
    fp = fopen("input.txt","r+");
    int i = 0,j = 0;
    char ch;

    while ( !feof(fp))
    {
        ch = (char)fgetc(fp);
        printf("%c\n", ch );
        if ( ch == " ")
        {
            continue;
        }
        else if ( ch == "\n")
        {
            i++ ;
            j = 0 ;
        }
        else
        {
            array_of_input[i][j] = ch;
            j++;
        }
    }
    return 0;
}

但是,我收到了错误:

  

ISO C ++禁止指针和整数之间的比较[-fpermissive]      if(ch ==&#34;&#34;)

fgetc(fp)返回int,然后将其类型转换为char。我在这里看不到任何整数。

1 个答案:

答案 0 :(得分:2)

chchar - 您应该将其与 char 字面(用单引号表示)进行比较,而不是字符串 literal(用双引号表示):

if ( ch == ' ')
{
    continue;
}
else if ( ch == ' ')
{
    i++ ;
    j = 0 ;
}
else  // rest of code snipped