Здравствуйте. Вопрос из двух частей.
Первая часть:
Что лучше класть в тип unsigned char, чтобы использовать это как пустое значение. Когда кладется NULL, то в переменной хранится '\0' последовательность, не уверен, что это лучший вариант, мало ли она каким-то образом может храниться в подобной переменной, при занесении в нее данных или при ее объявлении.
Делаю примерно так:
Присваиваю переменной unsigned char NULL значениеunsigned char ch = NULL; // '\0'
Вторая часть:
Никак не могу успешно сравнить две переменные unsigned char, пытался явным образом преобразовывать их к int, пытался сравнивать unsigned char и char, ничего не работает, хотя в переменных лежит идентичное значение, к примеру
'п' и 'п', но сравнение их возвращает false.
Примеры безуспешных сравнений:
Попытка сравнить unsigned char и unsigned charunsigned char[255];
vector<unsigned char> text;
// Далее через цикл каждое значение делаю NULL, char[i] = NULL;
// После идут пара циклов, в которых происходит сравнение
if(char[i] == text[j]) cout << "Успех, переменные имеют одинаковое значение";
else cout << "Неудача";
Попытка сравнить с char, который вытаскиваем из stringunsigned char[255];
string text;
// Далее через цикл каждое значение делаю NULL, char[i] = NULL;
// После идут пара циклов, в которых происходит сравнение
if(char[i] == string[j]) cout << "Успех, переменные имеют одинаковое значение";
else cout << "Неудача";
Сравниваем явным приведением к intunsigned char[255];
string text;
// Далее через цикл каждое значение делаю NULL, char[i] = NULL;
// После идут пара циклов, в которых происходит сравнение
if((int)char[i] == (int)string[j]) cout << "Успех, переменные имеют одинаковое значение";
else cout << "Неудача";