设为首页 加入收藏

TOP

C语言字符串操作函数总结(一)
2015-02-02 14:50:53 来源: 作者: 【 】 浏览:43
Tags:语言 字符串 操作 函数 总结

C语言字符串操作函数总结


Part 1: Copying


1、? 函数名: strcpy


用? 法: char * strcpy ( char * destination, const char * source );


功? 能: 串拷贝(Copies the C string pointed by source into the array pointed by destination, including the terminating null character. To avoid overflows, the size of the array pointed by destination shall be long enough to contain the same C string as source (including the terminating null character), and should not overlap in memory with source.)


程序例:


#include


#include


int main(void)


?{


char string[10];


char *str1 = "abcdefghi";


? ? strcpy(string, str1);
? ? printf("%s/n", string);
? ? return 0;
?}


2、函数名: strncpy


用? 法: char * strncpy ( char * destination, const char * source, size_t num );


功? 能: 指定长度的串拷(Copies the first num characters of source to destination. If the end of the source C string (which is signaled by a null-character) is found before num characters have been copied, destination is padded with zeros until a total of num characters have been written to it. No null-character is implicitly appended to the end of destination, so destination will only be null-terminated if the length of the C string in source is less than num.)
程序例:


#include
#include


int main ()
{
? char str1[]= "To be or not to be";
? char str2[6];
? strncpy (str2,str1,5);
? str2[5]='/0';//no '/0' will be appendeded to the end of destination automatically
? puts (str2);//输出To be
? return 0;
}


另外参考:


void * memcpy ( void * destination, const void * source, size_t num );


void * memmove ( void * destination, const void * source, size_t num );


?


Part 2: Concatenation


3、函数名: strcat
功? 能: 字符串拼接函数
用? 法: char *strcat(char *destin, char *source);
程序例:


#include
#include


int main(void)
{
? char destination[25];
? char *blank = " ", *c = "C++", *Borland = "Borland";


? strcpy(destination, Borland);
? strcat(destination, blank);
? strcat(destination, c);


? printf("%s/n", destination);
? return 0;
}


另外参考:


char * strncat ( char * destination, char * source, size_t num );


?


Part 3: Comparison


4、函数名: strcmp
功? 能: 串比较,大小写敏感
用? 法: int strcmp(char *str1, char *str2);
比较ASCII码,str1>str2,返回值 > 0;两串相等,返回0
程序例:


#include
#include


int main(void)
?{
? ? char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc";
? ? int ptr;


? ? ptr = strcmp(buf2, buf1);
? ? if (ptr > 0)
? ? ? printf("buffer 2 is greater than buffer 1/n");
? ? else
? ? ? printf("buffer 2 is less than buffer 1/n");


? ? ptr = strcmp(buf2, buf3);
? ? if (ptr > 0)
? ? ? printf("buffer 2 is greater than buffer 3/n");
? ? else
? ? ? printf("buffer 2 is less than buffer 3/n");


? ? return 0;
?}?


?4.1、函数名: stricmp(还有一种写法是strcmpi,VC 6.0都支持)
功? 能: 以大小写不敏感方式比较两个串
用? 法: int stricmp(char *str1, char *str2);
程序例:


#include
#include


int main(void)
{
? char *buf1 = "BBB", *buf2 = "bbb";
? int ptr;


? ptr = stricmp(buf2, buf1);


? if (ptr > 0)
? ? ? printf("buffer 2 is greater than buffer 1/n");


? if (ptr < 0)
? ? ? printf("buffer 2 is less than buffer 1/n");


? if (ptr == 0)
? ? ? printf("buffer 2 equals buffer 1/n");


? return 0;
}? ?


5、函数名: strncmp


功? 能: 将一个串中的一部分与另一个串比较, 大小写敏感
用? 法: int strncmp(char *str1, char *str2, size_t maxlen);
程序例:


#include
#include


int main(void)
{
? char *buf1 = "BBB", *buf2 = "bbb";
? int ptr;


? ptr = strcmpi(buf2, buf1);


? if (ptr > 0)
? ? ? printf("buffer 2 is greater than buffer 1/n");


? if (ptr < 0)
? ? ? printf("buffer 2 is less than buffer 1/n");


? if (ptr == 0)
? ? ? printf("buffer 2 equals buffer 1/n");


? return 0;
}


5.1、函数名: strncmpi(还有一种写法是strnicmp,VC 6.0都支持)
功? 能: 把串中的一部分与另一串中的一部分比较, 不管大小写
用? 法: int strncmpi(char *str1, char *str2);
程序例:


#include
#include


int main(void)
{
? char *buf1 = "BBBccc", *buf2 = "bbbccc";
? int ptr;


? ptr = strncmpi(buf2,buf1,3);


? if (ptr > 0)

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇基于Linux C的socket抓包程序和Pa.. 下一篇Java实现Floyd统计天津地铁的站点..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: