1. 程式人生 > >C語言常用字串處理函式

C語言常用字串處理函式

C語言提供了豐富的字串處理函式,大致可分為字串的輸入、輸出、合併、修改、比較、轉換、複製、搜尋幾類。 使用這些函式可大大減輕程式設計的負擔。用於輸入輸出的字串函式,在使用前應包含標頭檔案"stdio.h",使用其它字串函式則應包含標頭檔案"string.h"。


  下面介紹幾個最常用的字串函式。


  字串輸出函式 puts


  格式:  puts(字元陣列名)


  功能:把字元陣列中的字串輸出到顯示器。 即在螢幕上顯示該字串。


  【例7-12】


  #include"stdio.h" main(){ char c[]="BASIC\ndBASE"; puts(c); }#include"stdio.h"


  main(){


  char c[]="BASIC\ndBASE";


  puts(c);


  }從程式中可以看出puts函式中可以使用轉義字元,因此輸出結果成為兩行。puts函式完全可以由printf函式取代。當需要按一定格式輸出時,通常使用printf函式。


  字串輸入函式 gets


  格式:  gets (字元陣列名)


  功能:從標準輸入裝置鍵盤上輸入一個字串。


  本函式得到一個函式值,即為該字元陣列的首地址。


  【例7-13】


  #include"stdio.h" main(){ char st[15]; printf("input string:\n"); gets(st); puts(st); }#include"stdio.h"


  main(){


  char st[15];


  printf("input string:\n");


  gets(st);


  puts(st);


  }可以看出當輸入的字串中含有空格時,輸出仍為全部字串。說明gets函式並不以空格作為字串輸入結束的標誌,而只以回車作為輸入結束。這是與scanf函式不同的。


  字串連線函式 strcat


  格式:  strcat(字元陣列名1,字元陣列名2)


  功能:把字元陣列2中的字串連線到字元陣列1 中字串的後面,並刪去字串1後的串標誌“\0”。本函式返回值是字元陣列1的首地址。


  【例7-14】


  #include"string.h" main(){ static char st1[30]="My name is "; int st2[10]; printf("input your name:\n"); gets(st2); strcat(st1,st2); puts(st1); }#include"string.h"


  main(){


  static char st1[30]="My name is ";


  int st2[10];


  printf("input your name:\n");


  gets(st2);


  strcat(st1,st2);


  puts(st1);


  }本程式把初始化
bodog
賦值的字元陣列與動態賦值的字串連線起來。要注意的是,字元陣列1應定義足夠的長度,否則不能全部裝入被連線的字串。


  字串拷貝函式strcpy


  格式:  strcpy(字元陣列名1,字元陣列名2)


  功能:把字元陣列2中的字串拷貝到字元陣列1中。串結束標誌“\0”也一同拷貝。字元數名2,也可以是一個字串常量。這時相當於把一個字串賦予一個字元陣列。


  【例7-15】


  #include"string.h" main(){ char st1[15],st2[]="C Language"; strcpy(st1,st2); puts(st1);printf("\n"); }#include"string.h"


  main(){


  char st1[15],st2[]="C Language";


  strcpy(st1,st2);


  puts(st1);printf("\n");


  }本函式要求字元陣列1應有足夠的長度,否則不能全部裝入所拷貝的字串。


  字串比較函式strcmp


  格式:  strcmp(字元陣列名1,字元陣列名2)


  功能:按照ASCII碼順序比較兩個陣列中的字串,並由函式返回值返回比較結果。


  字串1=字串2,返回值=0;


  字串2〉字串2,返回值〉0;


  字串1〈字串2,返回值〈0。


  本函式也可用於比較兩個字串常量,或比較陣列和字串常量。


  【例7-16】


  #include"string.h" main(){ int k; static char st1[15],st2[]="C Language"; printf("input a string:\n"); gets(st1); k=strcmp(st1,st2); if(k==0) printf("st1=st2\n"); if(k>0) printf("st1>st2\n"); if(k<0) printf("st1<st2\n"); }#include"string.h"


  main(){


  int k;


  static char st1[15],st2[]="C Language";


  printf("input a string:\n");


  gets(st1);


  k=strcmp(st1,st2);


  if(k==0) printf("st1=st2\n");


  if(k>0) printf("st1>st2\n");


  if(k<0) printf("st1<st2\n");


  }本程式中把輸入的字串和陣列st2中的串比較,比較結果返回到k中,根據k值再輸出結果提示串。當輸入為dbase時,由ASCII 碼可知“dBASE”大於“C Language”故k〉0,輸出結果“st1>st2”。


  測字串長度函式strlen


  格式:  strlen(字元陣列名)


  功能:測字串的實際長度(不含字串結束標誌‘\0’)並作為函式返回值。


  【例7-17】


  #include"string.h" main(){ int k; static char st[]="C language"; k=strlen(st); printf("The lenth of the string is %d\n",k); }

推薦閱讀:http://blog.chinaunix.net/uid-29980229-id-4606725.html

相關推薦

C語言常用字串處理函式

C語言提供了豐富的字串處理函式,大致可分為字串的輸入、輸出、合併、修改、比較、轉換、複製、搜尋幾類。 使用這些函式可大大減輕程式設計的負擔。用於輸入輸出的字串函式,在使用前應包含標頭檔案"stdio.h",使用其它字串函式則應包含標頭檔案"string.h"。   下面介紹

C語言常用字串操作函式總結

函式名: strcpy 功 能: 將引數src字串拷貝至引數dest所指的地址 用 法: char *strcpy(char *dest, const char *src); 返回值: 返回引數de

C語言字串處理函式(更)

1、strcpy 2、strcat 3、strncat 4、strcmp 5、strlen 6、bzreo: eg:bzero(ptr,sizeof(char) * 100)    :    從ptr

C語言字串處理自定義函式

1、字串求長度 #include <stdio.h> int Mystrlen1(const char *str) { int i=0; while(*(str++)!='\0') { i++; } return i; } int Mystrlen2(cons

C語言字串處理函式

strlen() 求字串的實際長度(不包括'\0')   strcpy() char *strcpy(char* dest, const char *src); strcpy(目標串,源串); strcp

fwrite fread fscanf fprintf 及C語言字串操作函式

fwrite fread fscanf fprintf 都是屬於C函式用於檔案讀寫,前兩者對二進位制檔案讀寫,後兩者只要用於格式化的讀取、輸出文字,對文字檔案讀寫。  fscanf()  格式化的讀取,從檔案中讀取  fprintf() 格式化的寫入,寫入到檔案中

C標準庫——字串處理函式string.h和wchar.h

string.h中包含了所有的字串處理函式,也包含了記憶體處理函式,因為這些記憶體處理函式(如比如、複製、搜尋)的功能與字串處理函式功能類似。我們是用通用指標來指向記憶體塊的,通用指標可以用char*型別(傳統C語言),也可以用void*型別(標準C語言)。每個函式都

C語言字串查詢函式字串中查詢子串

作業系統: Windows10 64位 執行環境: Visual Studio 10 依賴的標頭檔案: #include <string.h> #include <stdlib.h

C語言常用檔案操作函式fprinf/fscanf與fwrite/fread

fprintf是將資料轉換為字元後再寫入檔案 fwrite是將資料不經轉換直接以二進位制的形式寫入檔案 一、fprintf函式。 fprintf(fp, "%d", buffer); 是將格式化的資料寫入檔案 fprintf(檔案指標,格式字串,輸出表列); 1.

R語言之——字串處理函式

nchar 取字元數量的函式 length與nchar不同,length是取向量的長度 # nchar表示字串中的字元的個數 nchar("abcd") [1] 4 # length表示向量中元素的個數 length("abcd") [1] 1 le

標準c中的字串處理函式

strcat 函式原型: char * stcat(char* str1,const char* str2) 函式功能:把字串str2的頭部連線到str1的尾部,然後返回新的字串的頭部指標 strcat函式的實現程式碼如下: <span style="font-si

資料結構c語言字串處理

題目 輸入一個字串,將連續重複的字元只輸出一個,前面加上重複的個數,例如輸入”aaabbbbcc”,輸出“3a4b2c” #include <stdio.h> int main(

【PHP基礎知識】——常用字串處理函式總結

一、概要 我們知道,字串操作是主流web程式語言的基礎,也是在日常開發中不可或缺的一項。PHP處理字串的能力非常強大,方法也是多種多樣。文章列舉了一些PHP中常見的字串處理方法。二、常用字串處理方法 1、判斷一個字串的長度:intstrlen ( string $strin

常用字串處理函式總結

      我們學習過C語言的都肯定用過標頭檔案裡的函式,例如strlen, strcmp, strcpy, strcat, strtok它們是使用字元陣列時的常用函式。除此之外,還有常用的itoa和atoi函式。。。      今天,我們就逐一實現這些庫函式。      函式原型:size_t st

C語言實現字串反轉函式strrev的經典方法

2012-10-29 15:59 6621人閱讀 評論(7)收藏 舉報 C語言c語言strrev字串反轉 字串反轉函式strrev不是C語言標準庫函式,很多C語言編譯器並沒有提供對它的支援,比如你在Linux下輸入Shell命令man 3 strlen,螢幕上會顯示,

linux C --深入理解字串處理函式 strlen() strcpy() strcat() strcmp()

    在linux C 程式設計中,我們經常遇到字串的處理,最多的就是字串的長度、拷貝字串、比較字串等;當然現在的C庫中為我們提供了很多字串處理函式。熟練的運用這些函式,可以減少程式設計工作量,這裡介紹幾個常用的字串函式,並編寫一些程式,如果沒有這些庫函式,我們將如何實

C語言常用內建函式

#include <stdio.h> #include <ctype.h> //內建函式標頭檔案 int main() { //常用內建函式 - 0 表示假 非0表示真

常用c語言字串處理函式

1.獲取一個字串 char *p = fgets(buf, size, stdin);   2.字串查詢     ret = strstr(cmd, "test");     if(ret != NULL)    

C語言常用字串處理函式總結》

第一次筆記:關於C語言積累感謝大家閱覽,記得看完點贊啦!常用的字串處理函式     C語言編譯系統中提供了很多有關字串處理的庫函式,這些庫函式為字串處理提供了方便,下面總結下幾種有關字串處理的函式。一、輸出字串函式puts:格式:puts(字元陣列名) ;功能:puts函式用

(C/C++學習)14.C語言字串處理函式(二)

說明:上節著重解釋了字串處理的庫函式處理,這節將針對一些常用的需求,進行非庫函式的處理。 一.去除某一個字串中的某個字元 1.去除字串右邊的空格 1 void trimStrRightSpace(char * str) 2 { 3 while(*str) 4 s