strncpy
char * strncpy ( char * destination, const char * source, size_t num );
拷贝num个字符串复制到目标空间。
如果源字符串的长度小于
num
,则拷贝完源字符串之后,在目标的后边追加
0
,直到
num
个。
#include<stdio.h>
#include<string.h>
int main()
{
char a[] = "abcde";
char b[] = "qwert";
strncpy(b, a, 3);
printf("%s", b);
return 0;
}
strncat
char * strncat ( char * destination, const char * source, size_t num );
将源的前num个字符追加到目标,再加上一个终止的null字符。如果源中的C字符串的长度小于num,则只有终止之前的内容空字符被复制。
#include<stdio.h>
#include<string.h>
int main()
{
char a[] = "abcde";
char b[10] = "qwert";
strncat(b, a, 3);
printf("%s", b);
return 0;
}
strncmp
int strncmp ( const char * str1, const char * str2, size_t num );
比较到出现另个字符不一样或者一个字符串结束或者num个字符全部比较完。
相同返回0,str1小于str2返回负数,str1大于str2返回正数。
#include<stdio.h>
#include<string.h>
int main()
{
char a[] = "abcde";
char b[10] = "qwert";
int cmp = strncmp(a, b, 3);
if (cmp > 0)
{
printf("a>b");
}
else if (cmp < 0)
{
printf("a<b");
}
else
{
printf("a=b");
}
return 0;
}
strstr
char * strstr ( const char *str1, const char * str2);
返回指向str1中第一个出现的str2的指针,如果str2不是的一部分,则返回null指针str1。
#include <stdio.h>
#include <string.h>
int main ()
{
char str[] ="This is a simple string";
char * pch;
pch = strstr (str,"simple");
strncpy (pch,"sample",6);
puts (str);
return 0;
}