|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.03.2010, 17:05 | #1 |
Пользователь
Регистрация: 13.05.2009
Сообщений: 47
|
как же все таки сравнить содержимое двух строк?
#include <iostream>
#include <cstring> using namespace std; int main() { while(true) { unsigned char x[3]="12"; unsigned char y[3]="12"; if(strcmp(x,y)) cout <<x[1]; cin.get(); } } . . . ошибку выдает вот такую: invalid conversion from `unsigned char*' to `const char*' |
22.03.2010, 17:14 | #2 |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
потому что передаешь ты unsigned char, а требуется обычный char (на квалификатор конст на данном этапе можно положить)
и кстати, если строки равны, strcmp вернет 0. это так, на всякий случай
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance Последний раз редактировалось pproger; 22.03.2010 в 17:19. |
22.03.2010, 17:46 | #3 |
Пользователь
Регистрация: 13.05.2009
Сообщений: 47
|
мне надо русские буквы сравнивать) а они только в беззнаковом
|
22.03.2010, 17:58 | #4 |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
с какова перепуга.
Код:
а вообще по-хорошему нужно сравнивать в зависимости от кодировки, в которой находится сорс.
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
22.03.2010, 18:05 | #5 |
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
Можно так:
Код:
Последний раз редактировалось profi; 22.03.2010 в 18:08. |
22.03.2010, 18:32 | #6 |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
2profi
так нельзя делать ни в коем случае. мало того, что сравниваются лишние байты (когда требуется только первые 3, к примеру. strcmp сравнивает до завершающего нуля), к тому же это потенциально опасно. про тройное сравнение вообще молчу
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
22.03.2010, 19:07 | #7 | |||
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
Цитата:
Цитата:
Код:
Цитата:
Код:
Последний раз редактировалось profi; 22.03.2010 в 19:58. |
|||
23.03.2010, 14:52 | #8 |
Пользователь
Регистрация: 02.12.2009
Сообщений: 33
|
А нельзя просто написать: if (x[3]>y[3]) {...} else {..} или if (x[3]<=y[3]) {...} else {..}???
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перебрать и сравнить ячейки двух столбцов! | ddv1 | Microsoft Office Excel | 17 | 09.10.2014 07:54 |
Бакалавриат - хорошо или все-таки плохо? | Mr.Qwerty | Свободное общение | 33 | 17.08.2011 06:08 |
Как всё-таки загрузить image из memorystream? | TwiX | Общие вопросы Delphi | 12 | 27.09.2009 21:09 |
скопировать все содержимое папки в другую | DannyKing | Помощь студентам | 6 | 27.03.2009 09:50 |