Описание тега memcmp
NoneMemcmp - это функция, доступная в библиотеке string.h.
1
ответ
Неожиданная ошибка в memcmp
Следующая простая программа segfaults для меня: #include <string.h> int main() { void* voidp = NULL; char zeroes[sizeof(void*)]; memset(zeroes, 0, sizeof(void*)); int res = memcmp(&voidp, zeroes, sizeof(void*)); return 0; } Отладчик показы…
19 дек '10 в 23:58
2
ответа
Могу ли я использовать memcmp для проверки структуры на ненулевые члены?
Я использую большую структуру со многими членами, и я хотел бы простой способ быстро увидеть, если какой-либо из членов ненулевой. я знаю это memcmp() Не следует использовать для сравнения двух структур на равенство (как описано здесь: Как вы сравни…
14 окт '16 в 02:52
4
ответа
Самое быстрое сравнение массива u_int64_t[8] в C/C++
Какой самый быстрый метод, чтобы сравнить два u_int64[8] массивы в C/C++? Массив 1 находится внутри std::vector (~10k элементов) массив 2 находится внутри динамически распределенной структуры. (является memcmp() тут ложный позитив бесплатный?) Моя (…
05 дек '14 в 13:08
2
ответа
Почему я получаю ошибку сегментации? Я использую stat, mmap, nftw и memcmp, между прочим
Вот мой код Я предполагаю, что это как-то связано с неправильным использованием указателей или, может быть, я неправильно отображаю и удаляю карту из памяти. Может ли кто-нибудь дать мне некоторое представление об этой проблеме? #define _XOPEN_SOURC…
02 апр '13 в 04:12
1
ответ
Ссылка на функцию ловушки netfilter сломала мою систему
Пожалуйста, посмотрите на фрагмент кода char ipAddr[] = {192, 168, 88, 2}; struct iphdr *ip_hdr = (struct iphdr*)(some_valid_eth_hdr_pointer + 1); if (0 == memcmp((void*)(ip_hdr->saddr), (void*)ipAddr, 4)) /*memcmp cause my whole system crashed*/…
21 апр '12 в 14:59
2
ответа
Как получить подстроку в c с помощью strchr
Я пытаюсь получить часть строки.У меня есть следующий код: #include <stdio.h> #include <string.h> #include <stdlib.h> char mystring[]="The quick brown fox jumps over the lazy dog"; char word1[]="The"; char * posb,pose; char * word2…
23 дек '15 в 11:05
2
ответа
Ада проблема с STORAGE_ERROR
У меня есть эта небольшая функция, которая вызывает у меня головные боли на RHEL6, и я не уверен, что происходит... и это отладка. Когда я запускаю это, я получаю STORAGE_ERROR, поэтому я сделал gstack, чтобы увидеть, где висит программа (см. Ниже).…
07 июл '11 в 20:18
3
ответа
Лучший способ сравнить хэши sha1 на равенство
Я хочу сравнить два хэша sha1 на равенство. Что может быть наиболее эффективным способом сделать это? В настоящее время я пытаюсь использовать memcmp. Благодарю.
14 мар '12 в 08:31
1
ответ
Segfault при использовании memcmp()
Я получаю сегфо в этой строке: if(memcmp(datap, 0x38 , 1) == 0) Это след от GDB, вы можете увидеть здесь: Program received signal SIGSEGV, Segmentation fault. 0x00000000004010f1 in processMTMHeader ( datap=0x2aaaab0b001c "1\34\66\63\36\65\34\66.\36\…
10 фев '14 в 10:15
2
ответа
Сравнение двух строковых литералов с использованием memcmp
Я сравнил два строковых литерала, используя memcmp функция. #include <stdio.h> #include <string.h> int main() { char str1[] = "abcd"; char str2[] = "ab"; if (memcmp(str1, str2, 4) == 0) { printf("equal string\n"); } return 0; } В вышеука…
02 май '18 в 07:17
4
ответа
memcmp с массивами массивов
В C я хочу проверить заданный массив символов на произвольную букву и изменить его в соответствии с тем, что есть. Например, символы "a" или "A" будут изменены на "4"(символ, представляющий 4). Для меня это упражнение по кодированию:) Код выглядит с…
19 сен '12 в 06:43
1
ответ
Может ли произойти сбой сегментации для чтения памяти?
Я думаю, что чтение памяти не должно вызывать каких-либо проблем, например char *d=""; char *d2="test"; memcmp(d,d2,10); Можно memcmp() когда-нибудь не получится?
05 мар '14 в 19:37
8
ответов
Реализация memcmp
Ниже приводится реализация memcmp для Microsoft CRT: int memcmp(const void* buf1, const void* buf2, size_t count) { if(!count) return(0); while(--count && *(char*)buf1 == *(char*)buf2 ) { buf1 = (char*)buf1 + 1; buf2 = (char*)buf2 + 1; } ret…
16 фев '11 в 14:31
3
ответа
Почему memcmp возвращает -1, хотя и равен
Я сравниваю с использованием memcmp() две переменные одной и той же структуры (в структуре есть объединение). Переменные находятся в двух массивах, и я запускаю цикл, где я делаю каждую итерацию memcmp(&arr1[i], &arr2[i], sizeof(arrtype)), П…
15 июл '13 в 09:25
1
ответ
Передача 3-го параметра в memcmp как -1 возвращает 0
Для memecmp() третьим параметром является size_t(без знака). Но когда мы передаем третий параметр, когда -1 возвращает всегда 0, даже если блок памяти, на который указывают первый и второй параметры, отличается?
19 авг '15 в 08:09
1
ответ
Memcpy func принимает переменную Pointer? char *p; char* q; тетср (р, д,10); это будет работать?
Memcpy а также memcmp функция может принимать переменную Pointer? char *p; char* q; memcpy(p,q,10); //will this work? memcmp(p,q,10); //will this work?
24 фев '15 в 14:05
3
ответа
Почему это медленнее, чем memcmp
Я пытаюсь сравнить два ряда pixels. pixel определяется как struct содержащий 4 float значения (RGBA). Причина, по которой я не пользуюсь memcmp потому что мне нужно вернуть положение 1-го другого пикселя, который memcmp не делает. Моя первая реализа…
10 фев '13 в 10:01
1
ответ
memcmp из PInvoke в C# не работает должным образом для массивов больше, чем 4x4
Часть PInkove была взята из какого-то SO ответа (извините, я потерял ссылку на оригинал). Ниже приведена полная программа. Выход false, using System; using System.Runtime.InteropServices; namespace Memcpy { class Program { [DllImport("msvcrt.dll", C…
05 окт '15 в 22:02
3
ответа
Могу ли я использовать memcmp два строки сравнения многобайтовых символов?
Я пытаюсь написать код для сравнения двух строк. В Windows я могу использовать strcmp, но я хочу написать для многобайтовой символьной строки, чтобы она была совместима со всеми другими платформами. Могу ли я использовать memcmp? если нет, то есть л…
27 фев '12 в 06:18
1
ответ
Возвращаемое значение memcmp, несогласованность
Вот небольшой код C, чтобы выделить проблему возвращаемого значения memcmp: char *str1 = "\200"; char *str2 = "\0"; int val1 = memcmp(str1, str2, 2); int val2 = memcmp("\200", "\0", 2); printf("val 1 : %d \n",val1); printf("val 0 : %d \n",val2); Ста…
29 ноя '18 в 09:44