string相關庫函數

char *strcat(char *dest, const char *src)

功能
把 src 所指向的字符串追加到 dest 所指向的字符串的結尾。

參數:
dest – 指向目標數組,該數組包含了一個 C 字符串,且足夠容納追加后的字符串。
src – 指向要追加的字符串,該字符串不會覆蓋目標字符串。

返回值:
該函數返回一個指向最終的目標字符串 dest 的指針。

實例:

#include <stdio.h>
#include <string.h>int main ()
{char src[50], dest[50];strcpy(src,  "This is source");strcpy(dest, "This is destination");strcat(dest, src);printf("最終的目標字符串: |%s|", dest);return(0);
}

輸出:

 最終的目標字符串: |This is destinationThis is source|

char *strncat(char *dest, const char *src, size_t n)

功能
把 src 所指向的字符串追加到 dest 所指向的字符串的結尾,直到 n 字符長度為止。

參數:
dest – 指向目標數組,該數組包含了一個 C 字符串,且足夠容納追加后的字符串,包括額外的空字符。
src – 要追加的字符串。
n – 要追加的最大字符數。

返回值:
該函數返回一個指向最終的目標字符串 dest 的指針。

實例:

#include <stdio.h>
#include <string.h>int main ()
{char src[50], dest[50];strcpy(src,  "This is source");strcpy(dest, "This is destination");strncat(dest, src, 15);printf("最終的目標字符串: |%s|", dest);return(0);
}

輸出:

 最終的目標字符串: |This is destinationThis is source|

char *strchr(const char *str, int c)

功能
在參數 str 所指向的字符串中搜索第一次出現字符 c(一個無符號字符)的位置。

參數:
str – 要被檢索的 C 字符串。
c – 在 str 中要搜索的字符。

返回值:
該函數返回在字符串 str 中第一次出現字符 c 的位置,如果未找到該字符則返回 NULL。

實例:

#include <stdio.h>
#include <string.h>int main ()
{const char str[] = "http://www.runoob.com";const char ch = '.';char *ret;ret = strchr(str, ch);printf("|%c| 之后的字符串是 - |%s|\n", ch, ret);return(0);
}

輸出:

 |.| 之后的字符串是 - |.runoob.com|

int strcmp(const char *str1, const char *str2)

功能
把 str1 所指向的字符串和 str2 所指向的字符串進行比較。

參數:
str1 – 要進行比較的第一個字符串。
str2 – 要進行比較的第二個字符串。

返回值:
如果返回值小于 0,則表示 str1 小于 str2。
如果返回值大于 0,則表示 str1 大于 str2。
如果返回值等于 0,則表示 str1 等于 str2。

實例:

#include <stdio.h>
#include <string.h>int main ()
{char str1[15];char str2[15];int ret;strcpy(str1, "abcdef");strcpy(str2, "ABCDEF");ret = strcmp(str1, str2);if(ret < 0){printf("str1 小于 str2");}else if(ret > 0) {printf("str1 大于 str2");}else {printf("str1 等于 str2");}return(0);
}

輸出:

 str1 大于 str2、

int strncmp(const char *str1, const char *str2, size_t n)

功能
把 str1 和 str2 進行比較,最多比較前 n 個字節。

參數:
str1 – 要進行比較的第一個字符串。
str2 – 要進行比較的第二個字符串。
n – 要比較的最大字符數。

返回值:
如果返回值小于 0,則表示 str1 小于 str2。
如果返回值大于 0,則表示 str1 大于 str2。
如果返回值等于 0,則表示 str1 等于 str2。

實例:

#include <stdio.h>
#include <string.h>int main ()
{char str1[15];char str2[15];int ret;strcpy(str1, "abcdef");strcpy(str2, "ABCDEF");ret = strncmp(str1, str2, 4);if(ret < 0){printf("str1 小于 str2");}else if(ret > 0) {printf("str2 小于 str1");}else {printf("str1 等于 str2");}return(0);
}

輸出:

 str2 小于 str1

char *strcpy(char *dest, const char *src)

功能
把 src 所指向的字符串復制到 dest。需要注意的是如果目標數組 dest 不夠大,而源字符串的長度又太長,可能會造成緩沖溢出的情況。

參數:
dest – 指向用于存儲復制內容的目標數組。
src – 要復制的字符串。

返回值:
該函數返回一個指向最終的目標字符串 dest 的指針。

實例:

#include <stdio.h>
#include <string.h>int main ()
{char str1[]="Sample string";char str2[40];char str3[40];strcpy (str2,str1);strcpy (str3,"copy successful");printf ("str1: %s\nstr2: %s\nstr3: %s\n",str1,str2,str3);return 0;
}

輸出:

str1: Sample string
str2: Sample string
str3: copy successful

char *strncpy(char *dest, const char *src, size_t n)

功能
把 src 所指向的字符串復制到 dest,最多復制 n 個字符。當 src 的長度小于 n 時,dest 的剩余部分將用空字節填充。

參數:
dest – 指向用于存儲復制內容的目標數組。
src – 要復制的字符串。
n – 要從源中復制的字符數。

返回值:
該函數返回一個指向最終的目標字符串 dest 的指針。

實例:

#include <stdio.h>
#include <string.h>int main()
{char src[40];char dest[12];memset(dest, '\0', sizeof(dest));strcpy(src, "This is runoob.com");strncpy(dest, src, 10);printf("最終的目標字符串: %s\n", dest);return(0);
}

輸出:

最終的目標字符串: This is ru

size_t strlen(const char *str)

功能
計算字符串 str 的長度,直到空結束字符,但不包括空結束字符。

參數:
str – 要計算長度的字符串。

返回值:
該函數返回字符串的長度。

實例:

#include <stdio.h>
#include <string.h>int main ()
{char str[50];int len;strcpy(str, "This is runoob.com");len = strlen(str);printf("|%s| 的長度是 |%d|\n", str, len);return(0);
}

輸出:

|This is runoob.com| 的長度是 |18|

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/444184.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/444184.shtml
英文地址,請注明出處:http://en.pswp.cn/news/444184.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

leetcode44. 通配符匹配 又是一道沒有解釋的字符串dp困難題

給定一個字符串 (s) 和一個字符模式 (p) &#xff0c;實現一個支持 ? 和 * 的通配符匹配。 ? 可以匹配任何單個字符。 * 可以匹配任意字符串&#xff08;包括空字符串&#xff09;。 兩個字符串完全匹配才算匹配成功。 說明: s 可能為空&#xff0c;且只包含從 a-z 的小寫…

深入學習卷積神經網絡(CNN)的原理知識

轉載自https://www.cnblogs.com/wj-1314/p/9754072.html 在深度學習領域中&#xff0c;已經經過驗證的成熟算法&#xff0c;目前主要有深度卷積網絡&#xff08;DNN&#xff09;和遞歸網絡&#xff08;RNN&#xff09;&#xff0c;在圖像識別&#xff0c;視頻識別&#xff0c;語…

java中如何生成隨機數?

java中如何生成隨機數&#xff1f; package com.test.util; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Random; public class CharacterUtils {/*** 第一種方法&#xff1b;length為產生的位數*/public static String getRandomString(int…

leetcode132. 分割回文串 II

給定一個字符串 s&#xff0c;將 s 分割成一些子串&#xff0c;使每個子串都是回文串。 返回符合要求的最少分割次數。 示例: 輸入: "aab" 輸出: 1 解釋: 進行一次分割就可將 s 分割成 ["aa","b"] 這樣兩個回文子串。 思路&#xff1a;dp[i]…

為什么需要智能指針

參考自https://www.cnblogs.com/round1/p/12906648.html 主要為了避免以下Bug: 內存泄露 &#xff1a;對象無法被釋放&#xff0c;最常見的問題。野指針 &#xff1a; 指針指向未知。重復釋放 : 顧名思義。 &#xff08;一&#xff09;內存泄露 : 1. 拋出異常&…

leetcode1068. 產品銷售分析 I(SQL)

銷售表 Sales&#xff1a; -------------------- | Column Name | Type | -------------------- | sale_id | int | | product_id | int | | year | int | | quantity | int | | price | int | -------------------- (sale_id, year) 是銷售表…

多進程與多線程通信同步機制

多進程通信方式 管道pipe&#xff1a;管道是一種半雙工的通信方式&#xff0c;數據只能單向流動&#xff0c;而且只能在具有親緣關系的進程間使用。進程的親緣關系通常是指父子進程關系。命名管道FIFO&#xff1a;有名管道也是半雙工的通信方式&#xff0c;但是它允許無親緣關…

leetcode1069. 產品銷售分析 II(SQL)

銷售表&#xff1a;Sales -------------------- | Column Name | Type | -------------------- | sale_id | int | | product_id | int | | year | int | | quantity | int | | price | int | -------------------- sale_id 是這個表的主鍵。…

leetcode1070. 產品銷售分析 III(SQL)

銷售表 Sales&#xff1a; -------------------- | Column Name | Type | -------------------- | sale_id | int | | product_id | int | | year | int | | quantity | int | | price | int | -------------------- sale_id 是此表的主鍵。 …

C/C++中static的用法全局變量與局部變量

轉載自C/C中static的用法全局變量與局部變量 1.什么是static? static 是C/C中很常用的修飾符&#xff0c;它被用來控制變量的存儲方式和可見性。 1.1static的引入 我們知道在函數內部定義的變量&#xff0c;當程序執行到它的定義處時&#xff0c;編譯器為它在棧上分配空間&…

查看商品圖片,鼠標懸浮圖片放大js實現

2010-06-07 10:18:46|分類&#xff1a;Javascript|字號訂閱 <%pagelanguage"java"import"java.util.*"pageEncoding"UTF-8"%> <%pageimport"com.pojo.Products"%> <% String path request.getContextPath(); String b…

leetcode547. 朋友圈

班上有 N 名學生。其中有些人是朋友&#xff0c;有些則不是。他們的友誼具有是傳遞性。如果已知 A 是 B 的朋友&#xff0c;B 是 C 的朋友&#xff0c;那么我們可以認為 A 也是 C 的朋友。所謂的朋友圈&#xff0c;是指所有朋友的集合。 給定一個 N * N 的矩陣 M&#xff0c;表…

C++中volatile關鍵字

轉載https://blog.csdn.net/weixin_44363885/article/details/92838607 一、volatile介紹 volatile提醒編譯器它后面所定義的變量隨時都有可能改變&#xff0c;因此編譯后的程序每次需要存儲或讀取這個變量的時候&#xff0c;都會直接從變量地址中讀取數據。如果沒有volatile…

leetcode261. 以圖判樹

給定從 0 到 n-1 標號的 n 個結點&#xff0c;和一個無向邊列表&#xff08;每條邊以結點對來表示&#xff09;&#xff0c;請編寫一個函數用來判斷這些邊是否能夠形成一個合法有效的樹結構。 示例 1&#xff1a; 輸入: n 5, 邊列表 edges [[0,1], [0,2], [0,3], [1,4]] 輸…

leetcode323. 無向圖中連通分量的數目

給定編號從 0 到 n-1 的 n 個節點和一個無向邊列表&#xff08;每條邊都是一對節點&#xff09;&#xff0c;請編寫一個函數來計算無向圖中連通分量的數目。 示例 1: 輸入: n 5 和 edges [[0, 1], [1, 2], [3, 4]] 0 3 | | 1 --- 2 4 輸出…

leetcode79. 單詞搜索 網格地圖搜索+回溯經典寫法啦

給定一個二維網格和一個單詞&#xff0c;找出該單詞是否存在于網格中。 單詞必須按照字母順序&#xff0c;通過相鄰的單元格內的字母構成&#xff0c;其中“相鄰”單元格是那些水平相鄰或垂直相鄰的單元格。同一個單元格內的字母不允許被重復使用。 示例: board [ [A,B,C…

leetcode1075. 項目員工 I(SQL)

項目表 Project&#xff1a; ---------------------- | Column Name | Type | ---------------------- | project_id | int | | employee_id | int | ---------------------- 主鍵為 (project_id, employee_id)。 employee_id 是員工表 Employee 表的外鍵。 員工…

leetcode1082. 銷售分析 I (SQL)

產品表&#xff1a;Product ----------------------- | Column Name | Type | ----------------------- | product_id | int | | product_name | varchar | | unit_price | int | ----------------------- product_id 是這個表的主鍵. 銷售表&#xff1a;Sale…

Oracle 獲取當前日期及日期格式

Oracle 獲取當前日期及日期格式 <wbr><wbr> 獲取系統日期&#xff1a;<wbr><wbr><span style"padding:0px; margin:0px; color:rgb(255,0,0)">SYSDATE()<br style"padding-bottom:0px; padding-top:0px; padding-left:0px; ma…

leetcode1083. 銷售分析 II(SQL)

Table: Product ----------------------- | Column Name | Type | ----------------------- | product_id | int | | product_name | varchar | | unit_price | int | ----------------------- product_id 是這張表的主鍵 Table: Sales --------------------…