知识大全 串 - 串及其运算 - 串的基本运算

Posted 操作

篇首语:学向勤中得,萤窗万卷书。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 串 - 串及其运算 - 串的基本运算相关的知识,希望对你有一定的参考价值。

  串的基本运算

  对于串的基本运算 很多高级语言均提供了相应的运算符或标准的库函数来实现

  为叙述方便 先定义几个相关的变量

  char s [ ]= dir/bin/appl s [ ]= file asm s [ ] *p;

  int result;

  下面以C语言中串运算介绍串的基本运算

   求串长

  int strlen(char *s);//求串s的长度

  【例】printf( %d strlen(s )); //输出s 的串长

   串复制

  char *strcpy(char *to *from);//将from串复制到to串中 并返回to开始处指针

  【例】strcpy(s s ); //s = dir/bin/appl s 串不变

   联接

  char *strcat(char *to char *from);//将from串复制到to串的末尾

  //并返回to串开始处的指针

  【例】strcat(s / ); //s = dir/bin/appl/

  strcat(s s ); //s = dir/bin/appl/file asm

   串比较

  int strcmp(char *s char *s );//比较s 和s 的大小

  //当s s 和s =s 时 分别返回小于 大于 和等于 的值

  【例】result=strcmp( baker Baker ); //result>

  result=strcmp( ); //result=

  result=strcmp( Joe joseph ) //result<

   字符定位

  char *strchr(char *s char c);//找c在字符串s中第一次出现的位置

  //若找到 则返回该位置 否则返回NULL

  【例】p=strchr(s ); //p指向 file 之后的位置

  if(p) strcpy(p cpp ); //s = file cpp

  注意

  ①上述操作是最基本的 其中后 个操作还有变种形式 strncpy strncath和strnchr

  ②其它的串操作见C的 在不同的高级语言中 对串运算的种类及符号都不尽相同

  ③其余的串操作一般可由这些基本操作组合而成

  【例】求子串的操作可如下实现

  void substr(char *sub char *s int pos int len)

  //s和sub是字符数组 用sub返回串s的第pos个字符起长度为len的子串

  //其中 <=pos<=strlen(s) 且数组sub至少可容纳len+ 个字符

  if (pos< ||pos>strlen(s) ||len< )

  Error( parameter error! );

  strncpy(sub &s[pos] len);//从s[pos]起复制至多len个字符到sub

cha138/Article/program/sjjg/201311/23915

相关参考