首页 > 试题广场 >

下面可用于字符串复制的函数有( &nbs...

[不定项选择题]
下面可用于字符串复制的函数有(     )。
  • strcpy
  • sprintf
  • strcmp
  • strstr
  • memcpy
memcpy()函数
从数组a复制k个元素到数组b中:memcpy(b,a,sizeof(int/double)*k)
数组a全部复制到数组b中:memcpy(b,a,sizeof(a))
strcpy()函数
char *strcpy(char *destin, char *source);
功能:将source指向的字符串拷到destin,会覆盖之前的,source包含'\0'
strcmp()函数
int strcmp(char * str1,char * str2); 
功能: 比较两个字符串str1,str2
返回: str1<str2,返回负数;str1=str2,返回 0;str1>str2,返回正数,,按位比较
strstr()函数
char* strstr(char* str1,char* str2);
功能:找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符) 
返回: 返回该位置的指针,如找不到,返回空指针
char b[20]="abcdef";
printf("position:%s\n",strstr(b,"bc"));  //position:bcdef
sprintf()函数
把信息输出到字符串,保证字符串足够大 
char a[20]; 
memset(a,0,sizeof(a)); 
sprintf(a,"%d%d%d%d",4,5,6,7); for(int i=0;i<sizeof(a);i++){
  printf("%d ",a[i]);
}
//输出20位 52 53 54 55 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
编辑于 2019-09-26 09:16:50 回复(2)
b是什么鬼 不应该是sprintf吗
发表于 2019-10-07 15:28:34 回复(0)
C++中:
char* strcpy( char* dest, const char* src );
Copies the character string pointed to by src, including the null terminator, to the character array whose first element is pointed to by dest.

int sprintf( char* buffer, const char* format, ... );
Writes the results to a character string buffer.

void* memcpy( void* dest, const void* src, std::size_t count );
Copies count bytes from the object pointed to by src to the object pointed to by dest. Both objects are reinterpreted as arrays of unsigned char.
编辑于 2019-08-26 21:00:56 回复(0)

A. strcpy 函数用于将源字符串的内容复制到目标字符串中,直到遇到空字符\0为止。

B. sprintf 函数用于将格式化的数据写入字符串中,并不是用于字符串复制。

C. strcmp 函数用于比较两个字符串的大小关系,并不是用于字符串复制。

D. strstr 函数用于在一个字符串中查找指定子字符串的位置,并不是用于字符串复制。

E. memcpy 函数可以用于复制任意类型的数据,包括字符串。它的函数原型如下:

cCopy Code
void* memcpy(void* dest, const void* src, size_t n)

其中dest是目标内存的指针,src是源内存的指针,n是要复制的字节数。这个函数会将源内存的内容复制到目标内存中。

所以,正确的答案是 A. strcpy、B. sprintf 和 E. memcpy。

发表于 2023-11-01 08:52:45 回复(1)
int sprintf( char* buffer, const char* format, ... );
发表于 2022-10-30 22:15:31 回复(0)
strcpy()从头拷贝字符串,直到“\0”
sprintf()把字符输入到字符串,用前要给字符串开辟空间,保证空间足够
strcmp()比较两个字符串大小
strstr(A,B)B在A中第一次出现的起始位置
memcpy()三个参数,按sizeof()拷贝
发表于 2022-04-29 14:27:40 回复(0)
【正确答案】A B E
【解析】C 选项 strcmp 用于比较两个字符串的大小
D 选项 strstr 用于在一个字符串中查找另一个字符串出现的位置
 
更多C++基础专业知识讲解,点击链接即可查看
https://www.nowcoder.com/link/zxyl-cpp98
编辑于 2022-04-10 20:06:22 回复(0)