C ++ Сравнить массив символов со строкой

Я пытаюсь сравнить массив символов со строкой так:

const char *var1 = " ";
var1 = getenv("myEnvVar");

if(var1 == "dev")
{
   // do stuff
}

Это если утверждение никогда не проверяется как истина ... когда я вывожу var1, это "DEV»Я подумал, может быть, это как-то связано со строкой, заканчивающейся нулем, но с "DEV» и var1 равны ... я тоже подумал, может быть var1 == "DEV» сравнивалDEV» в ячейке памяти var1 вместо значения. * var1 == "DEV» приводит к ошибке .... перепробовал много вещей, возможно простое решение для разработчика saavy c ++ (я давно не кодировал c ++).

редактировать: мымы пытались

if(strcmp(var1, "dev") == 0)

а также

if(strncmp(var1, "dev", 3) == 0)

Спасибо

редактировать: после тестирования дома яЯ просто собираюсь предположить, что мой сотрудник меняет тип данных на строку. Я полагаю, он сравнивал массив символов большого размера со строкой. Я собрал программу, которая выводит sizeof, strlen и т. Д., Чтобы помочь нам в этом. Спасибо всем за помощь.

Ответы на вопрос(6)

Ваш ответ на вопрос