перевод из char[] в string

249
23 мая 2017, 03:56

Есть строка

char buff[1024]; //1024
bsize = 3 // зависит от строки

Получает данные, в конец строки добавляю 0

// добавление завершающего нуля
        buff[bsize] = 0;

Перевожу строку в string

string name = buff; // результат "hi"

Есть еще один string

String test = "hi";

Возникает вопрос почему, результат false? Если должно быть true

if(name == test) // Результат false
Answer 1

Вероятнее всего, в строку name попадают "непечатные" символы (типа \n, \r) Проверьте равенство размеров строк (name.size() == test.size()) и если они не совпадают, выведите коды символов в строке name:

for (char x : name)
   cout << int(x) << endl;
READ ALSO
Определение города посетителя

Определение города посетителя

Необходимо узнать город посетителяНеобязательно знать район и другие подробности, а просто город

240
If не срабатывает

If не срабатывает

Пытаюсь сравнить значения введенные в форму со значениями заданными вручную и редиректнуть на другую страницу если совпадут, но почему то не получаются(Значения...

226
Почему [0] != &ldquo;&rdquo; и [] != &ldquo;0&rdquo; и [[]] != &ldquo;0&rdquo;?

Почему [0] != “” и [] != “0” и [[]] != “0”?

Просто было бы логично если бы [0] == "" тк

230