Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

memchr - memset - работа с байтами в массивах

Описание

      memchr отыскивает в буфере  buf  байт со значением 'c'.
      Поиск продолжается среди  count  количества байтов или
      до встречи значения 'c'.
      memcmp последовательно сравнивает байты буферов buf1 и
      buf2 и продолжает это,  пока они совпадают,  либо пока
      не выполнит заданное количество сравнений count. memcmp
      возвращает целое, меньшее, равное или большее 0 в зави-
      симости от результата сравнения  последней пары байтов.
      memcpy и memmove копируют count байтов из buf2 в buf1.
      memcpy работает быстрее,  но не работает,  если buf1 и
      buf2 перекрываются (имеют общую часть).Возвращают buf1.
      memset устанавливает первые count байтов в buf равными
      val. Возвращает buf.

Возвращаемое значение

      memchr возвращает указатель на позицию найденной литеры
      'c' в буфере, либо NULL.
      memcpy и memmove возвращают buf1.
      memset возвращает buf.
      memcmp возвращает значения:
         <0         buf1 < buf2
         =0         buf1 = buf2
         >0         buf1 > buf2

Пример

      #include <string.h>
      #include <stdio.h>
      char buffer[50];
      char buffer2[50]="Пример строки\n";
      char srccpy[]="Пример 2 строки\n";
      char * result;
      int reslt;
      main()
      {
        printf("Работает функция memcpy\n");
        memcpy(buffer, buffer2, 15);
        printf("Работает функция memchr\n");
        result = memchr(buffer, 'т', 50);
        if (result != NULL)
            printf("Литера(т) найдена в (%d)\n",
                                 result-buffer+1);
        else
            printf("Ошибка-(т) не найдена\n");
        printf("Работает функция memcmp\n");
        reslt = memcmp(buffer, buffer2, 50);
        printf("Результат memcmp: %s\n", reslt;
        printf("Buffer before memmove : %s", buffer);
        result = memmove(buffer, srccpy, sizeof(srccpy));
        printf("Буфер после memmove : %s", buffer);
        printf("Буфер до memset : %s", buffer);
        result = memset(buffer, 'x', 6);
        printf("Буфер после memset : %s", buffer);
      }

Рекомендация

      Смотрите также strcmp, strcat, strset, strchr.

оглавление

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог