網(wǎng)站首頁 編程語言 正文
一、字符&字符串函數(shù)
1.strlen--求字符串長度? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
釋:是所求‘\0’之前的字符個數(shù)。庫函數(shù)類型-size_t(const char*)
? ? size_t == unsigned int
#include <string.h> int main() { char arr[] = "hello world"; printf("%d\n",strlen(arr)); return 0; }
?
長度不受限 | 長度受限 |
strcpy | strncpy |
strcat | strncat |
strcmp | strncmp |
2.1.strcpy--拷貝字符串
庫函數(shù)類型-char* (char*, const char*)
源字符串-被拷貝字符串
釋:‘\0’是拷貝字符串終止拷貝的條件,且目標(biāo)空間必須有足夠大的空間放下源字符串。
#include <string.h> int main() { char arr1[20] = { 0 }; char arr2[] = "hello world"; strcpy(arr1,arr2); printf("%s\n",arr1); return 0; }
2.2.strcat--追加字符串/鏈接字符串
庫函數(shù)類型-char* (char*, const char*)
釋:通過找到目標(biāo)字符串里的‘\0’,再將源字符追加過去
#include <string.h> int main() { char arr1[20] = "hello "; char arr2[] = "world"; printf("%s\n",strcat(arr1,arr2)); return 0; }
2.3.strcmp--字符串比較
庫函數(shù)類型-int? (const char*, const char*)
釋:將左字符串與右字符串比較:小于返回小于0值,等于返回0,大于返回大于0值。
比較方式:將兩個字符串,按從左到右,一個一個字符的比較,按對應(yīng)的ascll碼進(jìn)行比較。
等于的情況
#include <string.h> int main() { char arr1[] = "abc"; char arr2[] = "abc"; printf("%d\n",strcmp(arr1,arr2)); return 0; }
大于的情況
#include <string.h> int main() { char arr1[] = "abc"; char arr2[] = "abd"; printf("%d\n",strcmp(arr1,arr2)); return 0; }
小于的情況
#include <string.h> int main() { char arr1[] = "abd"; char arr2[] = "abc"; printf("%d\n",strcmp(arr1,arr2)); return 0; }
2.4.strncpy--受限的字符串拷貝
庫函數(shù)類型-char* (char*, const char*,size_t)
size_t == unsigned int
釋:可以自己選擇想要拷貝的字符個數(shù)。
注:如果選擇拷貝的字符個數(shù),大于源字符的長度,則多的部分拷貝為‘\0’
#include <string.h> int main() { char arr1[20] = "abd"; char arr2[] = "hello world"; printf("%s\n",strncpy(arr1,arr2,5)); return 0; }
2.5.strncat--受限連接字符串
庫函數(shù)類型-char* (char*,const char*,size_t)
釋:可以自己選擇想要追加/連接的字符個數(shù)。
注:如果追加的字符長度大于源字符串長度,則扔在‘\0’處就停止了,如果不足源字符長度,則自動追加一個‘\0’
#include <string.h> int main() { char arr1[20] = "abd "; char arr2[] = "hello world"; printf("%s\n",strncat(arr1,arr2,5)); return 0; }
2.6.strncmp--受限的比較字符串
函數(shù)庫類型-int (const char*,const char*,size_t)
釋:可以自己選擇想要比較的字符長度
#include <string.h> int main() { char arr1[20] = "abd "; char arr2[] = "hello world"; printf("%d\n",strncmp(arr1,arr2,5)); return 0; }
總結(jié)
原文鏈接:https://blog.csdn.net/weixin_63246064/article/details/122396556
相關(guān)推薦
- 2023-05-21 numpy.unique()使用方法_python
- 2023-01-23 python操作excel之xlwt與xlrd_python
- 2023-04-29 springboot整合單機(jī)緩存ehcache的實(shí)現(xiàn)_python
- 2022-11-23 Shell執(zhí)行腳本并輸出日志文件的方法_linux shell
- 2022-10-24 Python?NumPy教程之遍歷數(shù)組詳解_python
- 2022-04-09 Redis分布式鎖防止緩存擊穿的實(shí)現(xiàn)_Redis
- 2022-11-24 AOP?Redis自定義注解實(shí)現(xiàn)細(xì)粒度接口IP訪問限制_Redis
- 2022-06-01 python中parser.add_argument()用法實(shí)例(命令行選項(xiàng)、參數(shù)和子命令解析器)_
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支