用字符串制作一个字符串

时间:2014-02-15 15:52:29

标签: c

我正在阅读文本文件,我知道文本文件有多少行。我正在使用fgets读取一行,然后strtok将其分解成块。我正在尝试读取该行中的第一个字符,如果它是“P”或“A”则采取行动。我假设我可以将line视为字符数组。对不起,这个问题是超级基本的。我可以告诉我警告我做错了什么。有没有更好的方法来做下面的事情?

char line[1024];


while  (i < LINE_MAX)
    {
        fgets(line, sizeof (line), fp);

        strtok(line," ");   
        printf("%c",line[0]);   
        if (line[0] == "P")
            printf("the letter is P\n");        
        if (line[0] == "A")
            printf("the letter is A");  
}

thread.c:在函数'main'中: thread.c:96:15:警告:指针和整数之间的比较[默认启用] thread.c:96:15:警告:与字符串文字比较导致未指定的行为[-Waddress] thread.c:98:15:警告:指针和整数之间的比较[默认启用] thread.c:98:15:警告:与字符串文字比较导致未指定的行为[-Waddress] 编译成功完成。

2 个答案:

答案 0 :(得分:2)

您需要在C char附近单引号。

if (line[0] == 'P'){}  

""用于字符串。

答案 1 :(得分:0)

我认为它应该可行但是只有当你删除Double引号(“”)时,因为它们用于String而不是Character。而不是line[0] == "P"使用line[0] == 'P'