Я читаю текстовый файл, и я знаю, сколько строк текстового файла. Я использую fgets для чтения в строке, а затем strtok, чтобы разбить его на куски. Я пытаюсь прочитать первый символ строки и принять меры, если это «P» или «A.». Я предполагаю, что я могу рассматривать строку как массив символов. извините, если этот вопрос супер базовый. Я могу сказать, что предупреждает, что я делаю что-то неправильно. Есть ли лучший способ сделать что-то вроде ниже?Создание символа из строки
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: В функции 'главный': thread.c: 96: 15: предупреждение: сравнение между указателем и целым числом [по умолчанию включено] thread.c: 96: 15: предупреждение: сравнение с строковым литералом приводит к неуказанному поведению [-Waddress] thread.c: 98: 15: предупреждение: сравнение между указателем и целым числом [включено по умолчанию] thread.c: 98: 15: предупреждение: сравнение со строковым литералом приводит к неуказанному поведение [-Waddress] Compilation завершен успешно.
Символьные литералы (например, '' P'') должны быть окружены одиночными, а не двойными кавычками. –
В качестве альтернативы (но менее оптимизированного) OP может использовать 'strncmp (строка,« P », 1)», если сравнивать строки, это то, что ему нужно. – Diti
Спасибо за быстрый ответ! – user3287789