熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> 數據結構 >> 正文

串 - 串及其運算 - 串的基本運算

2022-06-13   來源: 數據結構 

  串的基本運算

  對於串的基本運算很多高級語言均提供了相應的運算符或標准的庫函數來實現

  為敘述方便先定義幾個相關的變量

  char s[]=dir/bin/appls[]=fileasms[]*p;

  int result;

  下面以C語言中串運算介紹串的基本運算

  求串長

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

  【例】printf(%dstrlen(s)); //輸出s的串長

  串復制

  char *strcpy(char *to*from);//將from串復制到to串中並返回to開始處指針

  【例】strcpy(ss); //s=dir/bin/appls串不變

  聯接

  char *strcat(char *tochar *from);//將from串復制到to串的末尾

  //並返回to串開始處的指針

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

  strcat(ss); //s=dir/bin/appl/fileasm

  串比較

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

  //當ss和s=s分別返回小於大於和等於的值

  【例】result=strcmp(bakerBaker); //result>

  result=strcmp(); //result=

  result=strcmp(Joejoseph) //result<

  字符定位

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

  //若找到則返回該位置否則返回NULL

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

  if(p) strcpy(pcpp); //s=filecpp

  注意

  ①上述操作是最基本的其中後 個操作還有變種形式strncpystrncath和strnchr

  ②其它的串操作見C的在不同的高級語言中對串運算的種類及符號都不盡相同

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

  【例】求子串的操作可如下實現

  void substr(char *subchar *sint posint 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

  }//substr


From:http://tw.wingwit.com/Article/program/sjjg/201311/23915.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.