C語言string家族函式使用說明及範例
轉自:http://blog.csdn.net/sunnylgz/article/details/6677103
PS:專案中從來沒離開過string家族函式的使用,本來想把自己經常用到的一些str函式整理出來的,發現CSDN中已經有前輩做了這個工作,相當感激。為節省時間,就直接搬過來了,就當作是一次複習,好東西收藏起來,以備下次查閱之需
@函式名稱:strdup
函式原型: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,intcount)
函式功能: 將字串src中的count個字元拷貝到字串dest中去
函式返回: 指向dest的指標
引數說明: dest-目的字串,src-源字串,count-拷貝的字元個數
所屬檔案: <string.h>
- #include<stdio.h>
- #include<string.h>
- int main()
- {
- char*src = "bbbbbbbbbbbbbbbbbbbb";//20 'b's
- char dest[50] ="aaaaaaaaaaaaaaaaaaaa";//20 'a's
- puts(dest);
- strncpy(dest, src, 10);
- puts(dest);
- return0;
- }
- /*******************************************
- aaaaaaaaaaaaaaaaaaaa
- bbbbbbbbbbaaaaaaaaaa
- *******************************************/
@函式名稱: 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中
函式返回:
引數說明:
所屬檔案: <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 thanbuffer 1\n");
- else
- printf("buffer 2 is less thanbuffer 1\n");
- ptr=strcmp(buf2, buf3);
- if(ptr>0)
- printf("buffer 2 is greater thanbuffer 3\n");
- else
- printf("buffer 2 is less thanbuffer 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()
- {
- char str1[] ="aabbc";//
- char str2[] = "abbcd";//
- //為使測試程式更簡練,此處假定了strncmp只返回-1,0,1三個數
- char res_info[] = {'<','=','>'};
- int res;
- //前1個字元比較
- res = strncmp(str1, str2, 1);
- printf("1:str1%c str2\n", res_info[res+1]);
- //前3個字元比較
- res = strncmp(str1, str2, 3);
- printf("3:str1%c str2\n", res_info[res+1]);
- }
輸出:
- /****************************************
- 1:str1= str2
-
相關推薦
C語言string家族函式使用說明及範例
轉自:http://blog.csdn.net/sunnylgz/article/details/6677103 PS:專案中從來沒離開過string家族函式的使用,本來想把自己經常用到的一些str函式整理出來的,發現CSDN中已經有前輩做了這個工作,相當感激。為節省時
c/c++語言-string.h函式庫
string.h 頭定義了一個變數的型別,操作字元陣列的一個巨集觀和各種功能。庫變數以下是在頭string.h中定義的變數型別:S.N. 變數和說明1 size_t 這是一個無符號整數型別的sizeof關鍵字的結果。庫巨集以下是在頭string.h中定義的巨集:S.N. 巨集
C++中string常用函式及用法總結
標準c++中string類函式介紹 注意不是CString 之所以拋棄char*的字串而選用C++標準程式庫中的string類,是因為他和前者比較起來,不必 擔心記憶體是否足夠、字串長度等等,而且作為一個類出現,他整合的操作函式足以完成我們大多數情況下(甚至是1
c語言各類庫函式的含義及用法
在C語言中 strcat、strcmp、strcpy、strlen、strchr 和 strstr函式都被包含在<string.h>標頭檔案中,也就是要呼叫它們時要在程式前面包含<string.h>標頭檔案,也就是寫這個語句:#include<
C語言string.h中常用字元函式介紹
strcpy 函式名: strcpy 功 能: 拷貝一個字串到另一個 用 法: char *strcpy(char *destin, char *source); 程式例: #include <stdio.h> #include <string.h> int main(v
C語言string.h庫中的常用函式
memmove用於從src拷貝count個位元組到dest,如果目標區域和源區域有重疊的話,memmove能夠保證源串在被覆蓋之前將重疊區域的位元組拷貝到目標區域中。但複製後src內容會被更改。但是當目標區域與源區域沒有重疊則和memcpy函式功能相同。
大端儲存和小端儲存及基於c語言的測試函式
大端模式是什麼?小端模式又是什麼?對系統哪些方面有影響?又如何來檢視我的電腦到底是大端還是小端呢?這些問題在文中都將獲得解決,一起來看看吧。首先我們來介紹一下概念:大端模式(Big_endian):字資料的高位元組儲存在低地址中,而字資料的低位元組儲存在高地址中。如下圖。小端
C語言-----string.h標頭檔案中相關字串函式的模擬實現
strlen:用途:Get the length of a string.獲取字串長度。函式原型:size_t strlen( const char *string ); size_t表示無符號的意思,長度值肯定是無符號的。源字串以'\0'作為結束標誌。strlen函式返回的
《head first c》學習筆記及C語言有用的函式
動態庫及靜態庫 動態庫是在執行時連結程式,靜態庫一旦連結,就不能改變。 #include <>查詢包括/usr/include在內的標準目錄 gcc -fPIC 令目的碼位置無關,例如: gcc -c -fPIC test.c -o test.o(因為標頭檔案
C語言--“string.h”庫的幾個函式
標頭檔案:#include<string.h>string .h 標頭檔案定義了一個變數型別、一個巨集和各種操作字元陣列的函式。1,變數型別size_t 這是無符號整數型別,它是 sizeof 關鍵字的結果。2,巨集定義NULL這個巨集是一個空指標常量的值。3,各
檔案操作,及檔案操作時的許可權設定,快速實現檔案拷貝,C語言常用IO函式
定義一個檔案型別指標。用於儲存開啟檔案後的指標。 C語言中可以用 gets(char *str) 來輸入一行(包括空格)。 FILE *p = fopen("檔名",“開啟的許可權”); 其中許可權可以是w ,此時如果檔案不存在會自動建立,如果存在就會自動覆蓋(內容); 許
C語言——求最大公約數及最小公倍數
href 百度百科 代碼 ret temp max min 常見算法 urn 基本概念 最小公倍數:兩個或多個整數公有的倍數叫做它們的公倍數。整數a,b的最小公倍數記為[a,b],同樣的,a,b,c的最小公倍數記為[a,b,c],多個整數的最小公倍數也有同樣的記號。 最大
C語言string.h常用函數總結
字節 num type rcp 處的 不同 不可 tina 拷貝 void *memcpy(void *dest, const void *src, size_t n); 從源src所指的內存地址的起始位置開始拷貝n個字節到目標dest所指的內存地址的起始位置中. void
C語言版數據結構及算法_快速排序
log div 結構 gpo value val 結束 開始 c語言 /* 參數: a:數組首地址 left:需要排序的數組的開始位置 right:需要排序的數組的結束位置 */ void qSort(int *a,int left,int right){
C語言幾個函式用法小結
1.char *ultoa(unsigned long value,char *string,int radix) 將無符號整型數value轉換成字串並返回該字串,radix為轉換時所用基數 2.char *ltoa(long value,char *string,i
C語言中變量名及函數名的命名規則與駝峰命名法
char 都是 this 表示 介紹 程序設計 代碼 必須 不同的 一、C語言變量名的命名規則:(可以字母,數字,下劃線混合使用) 1. 只能以字母或下劃線開始;2. 不能以數字開始;3. 一般小寫;4. 關鍵字不允許用(eg:int float=2//error fl
C語言實現魔方陣程式碼及解析
問題描述編寫程式,實現如下表所示的5-魔方陣。 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22
c語言自定義函式,10月28日總結
現在時間23點34分,我想看看我幾點能完成 今天總結自定義函式的使用,先從最基礎的地方開始 1.形參實參 在定義函式的時候,函式大多數都有引數,在被主調函式需要傳遞資料給函式的引數 函式定義時用的變數叫形參 傳遞給函式的中形參值或變數叫實參 int m
(C/C++學習)14.C語言字串處理函式(二)
說明:上節著重解釋了字串處理的庫函式處理,這節將針對一些常用的需求,進行非庫函式的處理。 一.去除某一個字串中的某個字元 1.去除字串右邊的空格 1 void trimStrRightSpace(char * str) 2 { 3 while(*str) 4 s
C++中string erase 函式的使用 C++中string erase函式的使用
轉 C++中string erase函式的使用 2017年04月05日 21:02:17 It_BeeCoder 閱讀數:4286 更多