1
2
3
4
5
6
7
|
void
MyMemMove(
char
*dst,
char
*src,
size_t
count)
{
while
(count--)
{
*dst++ = *src++;
}
}
|
1
2
3
4
5
6
7
8
9
|
void
Test()
{
char
p1[256] = ”hello,world!”;
char
p2[256] = {0};
MyMemMove(p2, p1,
strlen
(p1));
printf
(“%s”,p2);
}
|
1
2
3
4
5
6
7
8
9
|
void
MyMemMove(
void
*dst,
void
*src,
size_t
count)
{
while
(count--)
{
*(
char
*)dst = *(
char
*)src;
dst = (
char
*)dst + 1;
src = (
char
*)src + 1;
}
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
void
* MyMemMove(
void
*dst,
const
void
*src,
size_t
count)
{
void
*ret=dst;
while
(count--)
{
*(
char
*)dst = *(
char
*)src;
dst = (
char
*)dst + 1;
src = (
char
*)src + 1;
}
return
ret;
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
void
* MyMemMove(
void
*dst,
const
void
*src,
size_t
count)
{
void
*ret=dst;
if
(NULL==dst || NULL ==src)
{
return
dst;
}
while
(count--)
{
*(
char
*)dst = *(
char
*)src;
dst = (
char
*)dst + 1;
src = (
char
*)src + 1;
}
return
ret;
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
void
* MyMemMove(
void
*dst,
const
void
*src,
size_t
count)
{
void
*ret=dst;
#ifdef DEBUG
if
(NULL==dst||NULL ==src)
{
return
dst;
}
#endif
while
(count--)
{
*(
char
*)dst = *(
char
*)src;
dst = (
char
*)dst + 1;
src = (
char
*)src + 1;
}
return
ret;
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
void
* MyMemMove(
void
*dst,
const
void
*src,
size_t
count)
{
assert
(dst);
assert
(src);
void
*ret = dst;
while
(count--)
{
*(
char
*)dst = *(
char
*)src;
dst = (
char
*)dst + 1;
src = (
char
*)src + 1;
}
return
ret;
}
|
1
2
3
4
5
6
7
8
|
void
Test()
{
char
p [256]=
"hello,world!"
;
MyMemMove(p+1, p, (
strlen
(p)+1));
printf
(
"%s\n"
,p);
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
(
void
*dst,
const
void
*src,
size_t
count)
{
assert
(dst);
assert
(src);
void
* ret = dst;
if
(dst <= src || (
char
*)dst >= ((
char
*)src + count))
{
while
(count--)
{
*(
char
*)dst = *(
char
*)src;
dst = (
char
*)dst + 1;
src = (
char
*)src + 1;
}
}
else
{
dst = (
char
*)dst + count - 1;
src = (
char
*)src + count - 1;
while
(count--)
{
*(
char
*)dst = *(
char
*)src;
dst = (
char
*)dst - 1;
src = (
char
*)src - 1;
}
}
return
(ret);
}
|