Linux C代碼實現substr函數(類似於PHP中的substr函數)

目錄

一、PHP substr()的用法詳解

定義和用法

語法

技術細節

二、Linux C代碼實現substr函數

三、測試驗證

1、substr_demo.php

2、使用substr_demo.c


版權聲明:本文爲博主(寬簡厚重,Yuesichiu)原創文章,未經博主允許不得轉載。
https://blog.csdn.net/yuesichiu/article/details/105420075

一、PHP substr()的用法詳解

定義和用法

substr() 函數返回字符串的一部分。

註釋:如果 start 參數是負數且 length 小於或等於 start,則 length 爲 0。


語法

substr(string,start,length)

參數 描述
string 必需。規定要返回其中一部分的字符串。
start 必需。規定在字符串的何處開始。
  • 正數 - 在字符串的指定位置開始
  • 負數 - 在從字符串結尾的指定位置開始
  • 0 - 在字符串中的第一個字符處開始
length 可選。規定要返回的字符串長度。默認是直到字符串的結尾。
  • 正數 - 從 start 參數所在的位置返回
  • 負數 - 從字符串末端返回

技術細節

返回值: 返回字符串的提取部分,如果失敗則返回 FALSE,或者返回一個空字符串。
PHP 版本: 4+
更新日誌: 在 PHP 5.2.2 到 5.2.6 版本中,如果 start 參數表示負截斷或者越界位置,則返回 FALSE。其他版本則從 start 位置開始獲取字符串。

二、Linux C代碼實現substr函數

三、測試驗證

1、substr_demo.php

<?PHP
    $string = "PJSIP/632@9000";
    echo "string:$string\n";
    printf("after substr:%s\n",substr($string,-6, -3));
?>

結果輸出:

2、使用substr_demo.c

int main() {
	char string[] = "PJSIP/632@9000";
	char buffer[64] = {0x0};
	char *p = string;
	int ret;
	printf("string:%s\n", string);	
	printf("after substr:%s\n", substr(string, -6, -3, buffer, sizeof(buffer)));
	
    return 0;
}

輸出:

 

從上述輸出來看,C代碼實現的substr函數與PHP內置的substr函數的效果是一致的。

版權聲明:本文爲博主(寬簡厚重,Yuesichiu)原創文章,未經博主允許不得轉載。
https://blog.csdn.net/yuesichiu/article/details/105420075

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章