首页 > 试题广场 >

以下函数中,和其他函数不属于一类的是____。

[单选题]
以下函数中,和其他函数不属于一类的是____。
  • strcpy
  • strncpy
  • snprintf
  • strcat
  • strtok
  • strncat
snprintf 在stdio.h头文件中,其他的在string.h头文件中
发表于 2015-09-11 15:55:53 回复(1)
首先,使用场景不同。除了snprintf之外,其他的都是用于两个字符串之间进行比较、拷贝、拼接等操作的,而snprintf最主要是,要把一个用户变量按照一个format打印到字符串中。
其次,函数参数类型不同。除了snprintf之外,其他的都是定长参数,而snprintf是接受变长参数的。
最后,定义位置也不同,除了snprintf位于stdio.h之外,其他的都是string.h中的。
因此,snprintf和其他的一定不是一类的,单从头文件的划分就能看出来。
P.S. glibc的头文件划分绝大多数都很有讲究。
编辑于 2015-10-25 14:06:23 回复(1)
 char * strtok(char *str, const char *ch) 将字符串S按照字符ch分解
发表于 2015-09-04 22:43:56 回复(0)
string.h 下的字符串处理函数:

snprintf 是 stdio.h 下 将可变个参数按照format格式化成字符串的函数
发表于 2019-08-07 15:57:53 回复(4)
就这一个不合群,没有看到它是以snp开头的吗?
发表于 2018-06-13 09:04:16 回复(1)
发表于 2021-09-03 13:40:48 回复(0)
不难发现其他几个都是st开头的,只有这个是sn
发表于 2022-08-04 17:09:55 回复(0)
snprintf是打印,其他都是两字符串间操作
发表于 2017-06-05 19:10:44 回复(0)
字符串的处理:

拷贝:strcpy,memcpy,sprintf;strncpy,_snprintf

合并:strcat,sprintf;strncat,_snprintf

比较:strcmp,memcmp;strncmp
strcpy() sprintf() strcat() 存在安全隐患, 其对应的安全版为:
strncpy() snprintf() strncat()
发表于 2015-08-24 22:20:46 回复(4)
这道题目只是考察 函数头文件的问题,只有snprintf函数位于stdio.h中,其他的都是在string.h中
发表于 2021-01-23 19:52:33 回复(0)
首先,使用场景不同。除了snprintf之外,其他的都是用于两个字符串之间进行比较、拷贝、拼接等操作的,而snprintf最主要是,要把一个用户变量按照一个format打印到字符串中。
其次,函数参数类型不同。除了snprintf之外,其他的都是定长参数,而snprintf是接受变长参数的。
最后,定义位置也不同,除了snprintf位于stdio.h之外,其他的都是string.h中的。
因此,snprintf和其他的一定不是一类的,单从头文件的划分就能看出来。
P.S. glibc的头文件划分绝大多数都很有讲究
发表于 2019-08-29 15:45:11 回复(0)
snprintf函数保证不会越界
原型是int snprintf(char *str, size_t size, const char *   format, ...),其功能是将可变参数(...)按照format格式化城字符串,然后将其复制到str中
(1)如果格式化后的字符串长度<size,则将此字符串全部复制到str中,并给其后添加一个'\0';
(2)如果格式化后的字符串长度>=size,则只将其中的(size-1)个字符复制到str中,并给其后添加一个'\0' ,返回一个负值
发表于 2015-08-25 16:29:10 回复(1)
解释如下: 
A. strcpy:将一个字符串复制到另一个字符串中,直到遇到空字符'\0'。
 B. strncpy:将指定长度的一个字符串复制到另一个字符串中,如果源字符串长度小于指定长度,则剩余位置用空字符填充。 
D. strcat:将一个字符串追加到另一个字符串的末尾,结果仍为一个合法字符串。 
E. strtok:将一个字符串按照指定的分隔符进行切割,返回切割后的子字符串。

这些函数都属于字符串操作函数,用于对字符串进行复制、连接和切割等操作。

C. snprintf:根据格式化字符串将数据输出到一个字符串中,与其他函数不同的是,它可以控制输出的长度,并且可以防止缓冲区溢出

发表于 2023-11-03 10:03:11 回复(0)
六了
编辑于 2024-03-29 17:06:55 回复(0)
snprintf的作用是将其他的数据类型转化为字符串类型
头文件的位置也不同
发表于 2021-06-15 18:02:37 回复(0)
snprintf 在stdio.h头文件中,其他的在string.h头文件中
发表于 2021-05-18 21:44:32 回复(0)
一看其他的跟字符有关,而printf为打印,我这么理解对不对?
发表于 2020-03-07 21:06:47 回复(0)
从接口的前缀也可以观察得出来,只有一个是另类的!!!!
发表于 2019-03-06 12:50:45 回复(0)
看起始3个字母,除了snprintf,其余的开头都是str,说明其余的都是和string有关的
发表于 2017-08-24 17:35:21 回复(0)
个人觉得选B,mencpy不仅可以处理字符串,还可以是其他类型数据
发表于 2015-09-05 17:43:32 回复(0)