snprintf和string操作函数
Posted Catch is KING
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了snprintf和string操作函数相关的知识,希望对你有一定的参考价值。
首先,使用场景不同。除了snprintf之外,其他的都是用于两个字符串之间进行比较、拷贝、拼接等操作的,而snprintf最主要是,要把一个用户变量按照一个format打印到字符串中。
其次,函数参数类型不同。除了snprintf之外,其他的都是定长参数,而snprintf是接受变长参数的。
最后,定义位置也不同,除了snprintf位于stdio.h之外,其他的都是string.h中的。
因此,snprintf和其他的一定不是一类的,单从头文件的划分就能看出来。
snprintf();//
#include <stdio.h>
函数返回
若成功则返回欲写入的字符串长度,若出错则返回负值。
信息说明
glibc的头文件划分绝大多数都很有讲究。
strcpy
//
原型声明:extern char *strcpy(char* dest, const char *src);
头文件:#include <string.h> 和 #include <stdio.h>
功能:把从src地址开始且含有\0结束符的字符串复制到以dest开始的地址空间
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。
strncpy
安全版本for strcpy,没有\0作为保证--string.h中仅有
strcat
将两个char*连接,string.h cstring in C++
strtok
char *strtok(char s[], const char *delim)
分割string以 delim
strncat
char *strncat(char * s1,const char * s2.size_t n);
s2字符串中只有前n个字符被追加到s1字符串,复制过来的s2字符串的第一个字符覆盖了
s1字符串结尾的空字符。s2字符串中包括s2[n]在内的字符都不会被复制,并且追加
一个空字符到所得结果后面。返回值是s1
以上是关于snprintf和string操作函数的主要内容,如果未能解决你的问题,请参考以下文章