函数 —— memset(给数组重新赋值,用指定字符替换数组中的部分值)

描述

C 库函数 void *memset(void *str, int c, size_t n) 复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符。

参数

  • str -- 指向要填充的内存块。
  • c -- 要被设置的值。该值以 int 形式传递,但是函数在填充内存块时是使用该值的无符号字符形式。
  • n -- 要被设置为该值的字节数。

实例1 —— 给数组重新赋值

#include 
#include 
#include 
int main(void)
{
	char buf[] = "Helloworle";
	char str[]="heihie!";	

	printf("before:=%s\n",buf);;
	memset(buf,0,strlen(buf));
	printf("after:=%s\n",buf);
	strcat(buf,str);
	printf("after strcat:= %s\n",buf);
	return 0;
}

让我们编译并运行上面的程序,这将产生以下结果:

before:=Helloworle
after:=
after strcat:= heihie!

实例2 —— 替换数组中的部分值

#include 
#include 

int main ()
{
   char str[50];

   strcpy(str,"This is string.h library function");
   puts(str);

   memset(str,'$',7);
   puts(str);
   
   return(0);
}

让我们编译并运行上面的程序,这将产生以下结果:

This is string.h library function
$$$$$$$ string.h library function

你可能感兴趣的:(C,语言,函数)