C语言string函数详解
函数原型:  char *strdup(const char *s)
函数功能:  字符串拷贝,目的空间由该函数分配 
函数返回:  指向拷贝后的字符串指针
参数说明:  src-待拷贝的源字符串
所属文件:  <string.h>
#include <stdio.h>
#include <string.h>
#include <alloc.h>
int main()
{
  char *dup_str, *string="abcde";
  dup_str=strdup(string);
  printf("%s", dup_str);
  free(dup_str);
  return 0;
}

@函数名称:  strcpy
函数原型:  char* strcpy(char* str1,char* str2);
函数功能:  把str2指向的字符串拷贝到str1中去
函数返回:  返回str1,即指向str1的指针
参数说明:
所属文件:  <string.h>
#include <stdio.h>
#include <string.h>
int main()
{
  char string[10];
  char *str1="abcdefghi";
  strcpy(string,str1);
  printf("the string is:%s\n",string);
  return 0;
}


@函数名称:  strncpy
函数原型:  char *strncpy(char *dest, const char *src,int count)
函数功能:  将字符串src中的count个字符拷贝到字符串dest中去
函数返回:  指向dest的指针
参数说明:  dest-目的字符串,src-源字符串,count-拷贝的字符个数
所属文件:  <string.h>
#include <stdio.h>
#include <string.h>
int main()
{
  char string[10];
  char *str1="abcdefghi";
  strncpy(string,str1,3);
  string[3]='\0';
  printf("%s",string);
  return 0;
}

@函数名称:  strcat
函数原型:  char* strcat(char * str1,char * str2);
函数功能:  把字符串str2接到str1后面,str1最后的'\0'被取消
函数返回:  str1
参数说明:
所属文件:  <string.h>
#include <stdio.h>
#include <string.h>
int main()
{
  char buffer[80];
  strcpy(buffer,"Hello ");
  strcat(buffer,"world");
  printf("%s\n",buffer);
  return 0;
}


@函数名称:  strncat
函数原型:  char *strncat(char *dest, const char *src, size_t maxlen)
函数功能:  将字符串src中前maxlen个字符连接到dest中 c语言定义一个字符串
函数返回:
参数说明:
所属文件:  <string.h>
#include <stdio.h>
#include <string.h>
char buffer[80];
int main()
{
  strcpy(buffer,"Hello ");
  strncat(buffer,"world",8);
  printf("%s\n",buffer);
  strncat(buffer,"*************",4);
  printf("%s\n",buffer);
  return 0;
}
@函数名称:  strcmp
函数原型:  int strcmp(char * str1,char * str2);
函数功能:  比较两个字符串str1,str2.
函数返回:  str1<str2,返回负数; str1=str2,返回 0; str1>str2,返回正数. 
参数说明:
所属文件:  <string.h>
#include <string.h>
#include <stdio.h>
int main()
{
  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;
}

@函数名称:  strncmp
函数原型:  int strncmp(char *str1,char *str2,int count)
函数功能:  对str1和str2中的前count个字符按字典顺序比较
函数返回:  小于0:str1<str2,等于0:str1=str2,大于0:str1>str2
参数说明:  str1,str2-待比较的字符串,count-比较的长度
所属文件:  <string.h>
#include <string.h>
#include <stdio.h>
int main()
{
  int ptr; 
  char *buf1="aaabbb",*buf2="bbbccc",*buf3="ccc";
  ptr=strncmp(buf2,buf1,3);
  if (ptr>0)      printf("buffer 2 is greater than buffer 1");
  else    printf("buffer 2 is less than buffer 1");
    ptr=strncmp(buf2,buf3,3);
  if (ptr>0)    printf("buffer 2 is greater than buffer 3");
  else    printf("buffer 2 is less than buffer 3");
  return(0);
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。