Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.223.106.232] |
|
Сообщ.
#1
,
|
|||
|
Может вопрос и ламерский но не как не могу сделать следущее: хочу узнать, что хранится в char. Если там MSG, то {} иначе то {} вот код:
|
Сообщ.
#2
,
|
|
|
strspn, memcmp, есть и другие
|
Сообщ.
#3
,
|
|
|
if( 0 == strncmp( Buffer, "MSG", strlen( "MSG" ) ) )
{ одинаковы } else { неодинаковы } |
Сообщ.
#4
,
|
|
|
Не подходят ВСЕ эти функции...как они сравнивают???
Вот смотрите (слева что присылаю, справа с чем сравниваю): "MSG"->"MSG"==0 \\\Равны согласен "MSG"->"555" == 1 \\\Не равны, согласен "MSG->"MSG1"==-1 \\\Это как понимать?? что такое -1? "MSG1"->"MSG"==0 \\А тут что??? почему ноль?? они же не равны?? Какие функции могут реально сравнить два буфере??? |
Сообщ.
#5
,
|
|
|
эти функции идут по обеим строкам пока не встретят первый не похожий символ.
0 - значит равно до какого-то символа. это определяется тем какую длинну ты задашь для сравнения. т.е. memcpy("12345a", "12345b", 5) сравнит первые пять символов, а дальше завершит работу. Хоть строки и разные, но после пятого символа они не проверяются и возвращается ноль. +1, -1 означает что проверка не удалась, а знак показывает напрвление для сортировки строк. А если ты хочешь проверить не часть двух строк, а строки до последнего знака, то используй функцию strcmp() т.е. strcmp("aaa", "bbb") - она сама вычислит длину строки и если вернет ноль, то это действительно идентичные строки. |
Сообщ.
#6
,
|
|||
|
спасибо.......все изумительно понял....... |