The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"memmove"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"memmove"  
Сообщение от masker on 05-Июл-06, 16:35 
Как бы вы реализовали функцию memmove(в самом простом варинте без проверок)

int i,size=5;
char *src="ABCDE";
char *dst;

for(i=0;i<size;i++) {
dst[i]=src[i];
}

for(i=0;i<5;i++) {
printf("[%d]%c   %c\n",i,src[i],dst[i]);
}

Выводит
./mem2
[0]A   A
[1]B   B
[2]C   C
[3]D   D
[4]E   E
Укажите на ошибки плз

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

  • memmove, trotski, 16:45 , 05-Июл-06, (1)  
    • memmove, sasha, 17:01 , 05-Июл-06, (2)  
  • memmove, michelnok, 17:02 , 05-Июл-06, (3)  
  • memmove, chip, 17:03 , 05-Июл-06, (4)  

Сообщения по теме [Сортировка по времени, UBB]


1. "memmove"  
Сообщение от trotski email on 05-Июл-06, 16:45 
>Как бы вы реализовали функцию memmove(в самом простом варинте без проверок)
>
>int i,size=5;
>char *src="ABCDE";
>char *dst;
>
>
>
>for(i=0;i<size;i++) {
>dst[i]=src[i];

О каком dst[i] идет речь, если dst - всего лишь указатель?

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "memmove"  
Сообщение от sasha (??) on 05-Июл-06, 17:01 
это не копия массива, а указателя !!!

  char * src = "ABCDE";
  char * dst = src;
  int i=0;

  while( *src != '\0') {
    printf("[%d]%c %c\n", i++, *(src++), *(dst++));
  }


Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "memmove"  
Сообщение от michelnok (??) on 05-Июл-06, 17:02 
>Укажите на ошибки плз

Вы реализовали memcpy, а memmove должна учитывать что области *src и *dst могут пересекаться.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

4. "memmove"  
Сообщение от chip email(ok) on 05-Июл-06, 17:03 
>Как бы вы реализовали функцию memmove(в самом простом варинте без проверок)

man memmove. Реализация представлена в /usr/src/lib/libc/string/bcopy.c (Для FreeBSD). cvsweb.freebsd.org для поиска.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру