65,187
社区成员




char *
strcpy (dest, src)
char *dest;
const char *src;
{
reg_char c;
char *__unbounded s = (char *__unbounded) CHECK_BOUNDS_LOW (src);
const ptrdiff_t off = CHECK_BOUNDS_LOW (dest) - s - 1;
size_t n;
do
{
c = *s++;
s[off] = c;
}
while (c != '\0');
n = s - src;
(void) CHECK_BOUNDS_HIGH (src + n);
(void) CHECK_BOUNDS_HIGH (dest + n);
return dest;
}
char * strcpy(char *dest,const char * src)
{
assert((dest!=NULL) && (src!=NULL));
char * address = dest;
while ((*dest++ = *src++) != '\0') ;
return address;
}
void * __cdecl memset (
void *dst,
int val,
size_t count
)
{
void *start = dst;
while ( count-- ) {
*( char * )dst = ( char )val;
dst = ( char * )dst + 1;
}
return( start );
}
void * __cdecl memcpy (
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 );
}
void * __cdecl memmove (
void * dst,
const void * src,
size_t count
)
{
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 );
}
char * __cdecl strcpy( char * dst, const char * src )
{
char * cp = dst;
while ( *cp++ = *src++ )
; /* Copy src over dst */
return( dst );
}
void strcpy(char* dest,const char* src)
{
while(*src != 0)
*dest++ = *src++;
}
char * __cdecl strncpy (
char * dest,
const char * source,
size_t count
)
{
char *start = dest;
while (count && (*dest++ = *source++)) /* copy string */
count--;
if (count) /* pad out with zeroes */
while (--count)
*dest++ = '\0';
return(start);
}