您的位置:首页 > 编程语言 > C语言/C++

[C/C++] 字符串处理函数 strstr 与 strncpy

2013-02-04 22:10 363 查看
strstr()

函数原型:extern char *strstr(char *str1, char *str2);

功能:找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。

返回值:返回该位置的指针,如找不到,返回空指针。
/* strstr example */
#include <stdio.h>
#include <string.h>

int main() {
char str[] = "This is a simple string";
char *pch;
pch = strstr (str, "simple");
puts(pch);
strncpy (pch, "123sample", 6);
puts(pch);
puts (str);
return 0;
}
/*
Output
simple string
123sam string
This is a 123sam string
*/

strncpy  字符串复制

原型:char * strncpy(char *dest, char *src, size_t n);

功能:将字符串src中最多n个字符复制到字符数组dest中(它并不像strcpy一样只有遇到NULL才停止复制,而是多了一个条件停止,就是说如果复制到第n个字符还未遇到NULL,也一样停止),返回指向dest的指针。
/* strncpy example */
#include <stdio.h>
#include <string.h>

int main() {
char str1[] = "To be or not to be";
char str2[40];
char str3[40];
/* copy to sized buffer (overflow safe): */
strncpy ( str2, str1, sizeof(str2) );
/* partial copy (only 5 chars): */
strncpy ( str3, str2, 5 );
str3[5] = '\0';   /* null character manually added */
puts (str1);
puts (str2);
puts (str3);
return 0;
}
/*
To be or not to be
To be or not to be
To be
*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: