帮忙解释几个C语言中的函数?最近
1memcpy在两个内存空间之间拷贝字符。其函数原型为:
void *memcpy( void *dest, const void *src, size_t count );
其中dest是拷入起始地址(指针),src是原来的起始地址(指针),count是要拷贝的字符数量。
例如:
char string1[60] = "The quick brown fox jumps over the lazy fox";
char string2[60] = "The quick brown fox jumps over the lazy dog";
memcpy( string1 + 16, ...全部
1memcpy在两个内存空间之间拷贝字符。其函数原型为:
void *memcpy( void *dest, const void *src, size_t count );
其中dest是拷入起始地址(指针),src是原来的起始地址(指针),count是要拷贝的字符数量。
例如:
char string1[60] = "The quick brown fox jumps over the lazy fox";
char string2[60] = "The quick brown fox jumps over the lazy dog";
memcpy( string1 + 16, string2 + 40, 3 );
printf( "Result:\t\t%s\n", string1 );
则程序输出:
"The quick brown dog jumps over the lazy fox"
2sprintf按指定格式将数据输出到一个字符串中。
其用法与printf相似,只不过printf把数据输出到屏幕等标准输出,而sprintf则输出到一个字符串。函数原型:
int sprintf( char *buffer, const char *format [, argument] 。
。。 );
例如:
void main( void )
{
char buffer[200], s[] = "computer", c = 'l';
int i = 35, j;
float fp = 1。
7320534f;
j = sprintf( buffer, "\tString: %s\n", s );
j += sprintf( buffer + j, "\tCharacter: %c\n", c );
j += sprintf( buffer + j, "\tInteger: %d\n", i );
j += sprintf( buffer + j, "\tReal: %f\n", fp );
printf( "Output:\n%s\ncharacter count = %d\n", buffer, j );
}
则程序输出:
String: computer
Character: l
Integer: 35
Real: 1。
732053
character count = 71
3memset用指定字符覆盖指定内存区域。函数原型为:
void *memset( void *dest, int c, size_t count );
其中dest是要被覆盖的起始地址(指针),c是指定的覆盖字符,count是覆盖的字符数量。
例如:
void main( void )
{
char buffer[] = "This is a test of the memset function";
printf( "Before: %s\n", buffer );
memset( buffer, '*', 4 );
printf( "After: %s\n", buffer );
}
则程序输出:
Before: This is a test of the memset function
After: **** is a test of the memset function
。
收起