C語言字符串處理函數之字符串轉換、查詢函數

2020-12-13 濁酒敬風塵

介紹完字符串整體操作函數,就該到字符串查詢函數和字符串轉換函數了,至於一些字符串轉換函數,如atoi(),atof(),strtod(),strtol(),tolower(),toupper()等,以後有時間再整理整理。

字符串查詢函數:

strchr:匹配字符串中首次出現的指定字符

原型:char* strchr(const *s, int c)功能:用來找出參數s字符串中第一個出現參數c的地址,然後將該字符出現的地址返回返回值:如果找到指定的字符,則返回該字符所在地址,否則返回0。

說明:數組str中為"abcabc",使用strchr()查找'c'字符首次出現的位置,返回其首次出現的地址,列印輸出"cabc";第11行,將查找到地址的值修改為字符'*',原數組列印輸出變為"ab*abc"。

strchr()遇到'\0'會停止,例子:

再來做一個簡單的拓展,寫個小函數,實現功能呢就是把給定字符串中某個字符出現的所有位置都用另外一個字替換,如下例子,將"abcabc"中的'c'替換為'@':

memchr:字符搜索

原型:void* memchr(const void *s, int c, size_t n);功能:從buf所指內存區域的前n個字節查找字符c說明:當第一次遇到字符c時停止查找。如果成功,返回指向字符c的指針;否則返回NULL注意:與strchr不同,它不會遇到'\0'而結束

strstr:字符串匹配,在一個字符串中查找指定的字符串

原型:char* strstr(const char *haystack, const char *needle)功能:strstr()會從字符串 haystack中搜尋字符串needle,並將第一次出現的地址返回返回值:返回指定字符串第一次出現的地址,否則返回0

同樣,strstr()遇到'\0'會停止,如:

字符串轉換函數

strtok:字符串分割函數

原型:char *strtok(char *s, const char *delim);功能:分解字符串為一組字符串。s為要分解的字符串,delim為分隔符字符串說明:strtok()用來將字符串分割成一個個片段。參數s指向欲分割的字符串,參數delim則為分割字符串中包含的所有字符。當strtok()在參數s的字符串中發現參數delim中包涵的分割字符時,則會將該字符改為\0 字符。在第一次調用時,strtok()必需給予參數s字符串,往後的調用則將參數s設置成NULL。每次調用成功則返回指向被分割出片段的指針,如無從分割則返回NULL。

strset:字符串設定函數,遇到'\0'結束。

原型:char *strset(char *s, char c);功能:把字符串s中的所有字符都設置成字符c說明:返回指向s的指針

memset:空間設定函數,與strset不同,遇到'\0'不會結束,需要給定所要設置的空間大小。

原型:void *memset(void *s, int ch, size_t n);功能:作用是在一段內存塊中填充某個給定的值,它是對較大的結構體或數組進行清零操作的一種最快方法說明:將s所指向的某一塊內存中的每個字節的內容全部設置為ch指定的ASCII值, 塊的大小由第三個參數指定,這個函數通常為新申請的內存做初始化工作, 其返回值為指向S的指針

還有一些比較常用的函數,如字符串轉換函數,像atoi,atof,atol等,都是比較簡單的,有時間了整理一下,既然說到這裡,順便提一句,atof()比較特殊,在使用時需要注意下,不要忘記包含頭文件stdlib.h。

寫代碼的時候最好不要忽略警告,有時候忽略警告會有意想不到的效果,如上面例子當中使用atof時,提示:warning C4013: 「atof」未定義。需要包含頭文件stdlib.h,即使不包含,也有警告但不會報錯,只是,若不包含這個頭文件,這裡則是一個隱式申明,隱式申明默認返回類型是int型,float型數據按照int型處理就出問題了。

這是一個坑啊。。。

相關焦點

  • php字符串函數
    ,並直接寫入文檔流get_html_translation_table — 返回可以轉換的HTML實體hebrev — 將Hebrew編碼的字符串轉換為可視的文本hebrevc — 將Hebrew編碼的字符串轉換為可視的文本html_entity_decode — htmlentities ()函數的反函數,將HTML實體轉換為字符
  • 快速上手系列-C語言之字符串處理函數(一)
    C語言中常用的字符串操作函數,有比如計算字符串長度、字符串拷貝,字符串比較等這樣的整體操作函數,有字符串查詢函數,也有字符串轉換函數等等,這裡先介紹字符串整體操作函數。字符串整體操作函數實際編程中,經常遇到對字符串整體的控制等操作,比如長度測量函數strlen(),字符串拷貝函數strcpy()/strncpy(),字符串比較函數 strcmp()/strncmp(),字符串連接函數strcat()/strncat()等,這些函數是非常有用的。
  • C語言中常用的6個字符串處理函數
    字符串複製函數語法:strcpy(目的字符串數組名, 源字符串數組名)功能:把源字符串數組中的字符串複製到目的字符串數組中,字符串結束標誌"\0"也一同複製下面通過實例來了解一下strcpy函數的使用#define _CRT_SECURE_NO_WARNINGS#include<
  • php字符串處理函數大全
    ,並直接寫入文檔流get_html_translation_table — 返回可以轉換的HTML實體hebrev — 將Hebrew編碼的字符串轉換為可視的文本hebrevc — 將Hebrew編碼的字符串轉換為可視的文本html_entity_decode — htmlentities ()函數的反函數,將HTML實體轉換為字符
  • 講解php字符串處理函數
    實體轉換為字符htmlentities —— 將字符串中一些字符轉換為HTML實體htmlspecialchars_decode —— htmlspecialchars()函數的反函數,將HTML實體轉換為字符htmlspecialchars —— 將字符串中一些字符轉換為HTML實體implode —— 將數組用特定的分割符轉變為字符串
  • 字符串處理函數
    2.gets 函數---輸入字符串的函數#include<stdio.h>void main(){    char str[10];//定義字符數組    gets(str);//輸入字符串    puts(str);//輸出字符串}輸入:ABCD 1234
  • php字符串常用處理,運算符和幾個常用的字符串函數
    本篇將介紹php字符串常用處理,運算符和幾個常用的字符串函數。有興趣的朋友可以了解一下!php是一門很受歡迎的程式語言之一,由於它的語法簡單易學,迎來了一大批的自學者,小編就是其中一個。php確實相當於其它語言(java、c#等等)比較簡單,但是對一個毫無程式語言基礎的人來說,還是有一定難度的。
  • useful R 字符串函數
    ),這裡主要介紹一下和正則表達式相關的函數,沒錯,主要為了用於處理一些字符類的函數。= "字符",perl = T) # 固定字符strsplit(mystring, split = "字符|進行",perl = T) mystring <- c("前者表示指定一個分裂字符串","當字符串中出現該固定模式時就進行分裂", "後者表示每隔多少個字符進行分裂")strsplit(mystring, split = "字符|進行", perl= T)1行創建一個字符串對象
  • C語言字符數組和字符串
    字符串數據類型是建模在形式字符串的想法上的數據類型。字符串是幾乎在所有程式語言中可以實現的非常重要和有用的數據類型。在某些語言中它們可作為基本類型獲得,在另一些語言中做為複合類型獲得。多數高級語言的語法允許通常用某種方式引用起來的字符串來表示字符串數據類型的實例;這種元字符串叫做「文本」或「字符串文本」。
  • ​【轉載】字符轉數字:C語言裡atoi函數和它的童鞋
    形參*nptr:需轉換的字符串函數功能字符串轉換成整型數函數說明atoi (表示 ascii to integer)是把字符串轉換成整型數的一個函數-程序說明  該程序調用atoi函數  實現對字符串轉數字的轉換  通過設置各種字符串的情況  充分說明atoi函數對於  各類字符串情況下的處理方法
  • php字符串函數匯總
    php字符串函數:addcslashes — 以 C 語言風格使用反斜線轉義字符串中的字符addslashes — 使用反斜線引用字符串bin2hex — 函數把包含數據的二進位字符串轉換為十六進位值chop — rtrim 的別名
  • MySQL函數基礎——字符串函數詳解
    昨天,咱們對MySQL的數學函數進行了講解,今天,咱們再來解析MySQL字符串函數。字符串函數主要用來處理資料庫中的字符串數據,MySQL中字符串函數有:計算字符串長度函數、字符串合併函數、字符串替換函數、字符串比較函數、查找指定字符串位置函數等。
  • C語言學習之我見-memchr()內存查找字符函數
    memchr()內存查找字符函數:主要用於從內存中查找自己需要的字符位置。
  • PHP部分字符串函數匯總
    我們大家知道無論哪種語言,字符串操作都是一個重要的基礎,往往是簡單而重要。查找字符位置函數strpos($str,search,[int]): 查找search在$str中的第一次位置從int開始stripos($str,search,[int]): 函數返回字符串在另一個字符串中第一次出現的位置strrpos($str,search,[int]): 查找search在$str中的最後一次出現的位置從int 2.
  • C語言:優雅的字符串函數庫
    例如:用新語言寫代碼注釋 / commit message / README / issue;對了,我作為英文的愛好者,一直想重啟我的英文學習之路,後續想在公眾號裡記錄一些英文相關的知識,請你們不要笑話我~~~二、字符串函數庫:Simple
  • (基礎篇)PHP字符串函數
    PHP字符串函數包括查找字符位置函數;提取子字符函數;替換字符串;字符長度;比較字符函數;分割成數組字符;去除空格等等
  • PHP字符串處理函數,每天學習5個,運用自如!
    convert_cyr_string — 將斯拉夫語字符轉換為別的字符convert_uudecode — 解密一個字符串convert_uuencode — 加密一個字符串count_chars — 返回一個字符串裡面的字符使用信息crc32 — 計算一個字符串的crc32多項式crypt — 單向散列加密函數
  • 介紹「十六進位數字符串至數值轉換」函數
    位於函數/字符串/「字符串/數值轉換」下,功能是把輸入的字符串(ASCII)通過十六進位數字再轉換成數值(10進位)。有幾點需要注意:本文引用地址:http://www.eepw.com.cn/article/201701/337016.htm1:雖然該函數的輸入端子「string」的值可以是十六進位數、字符串(ASCII)或其他進位數,但是「string」的值流入該函數中時,先轉換成字符串(ASCII)。
  • C語言實現將字符串轉換為數字的方法
    這篇文章主要介紹了C語言實現將字符串轉換為數字的方法,涉及系統函數atoi()函數的使用技巧,需要的朋友可以參考下本文實例講述了C語言實現將字符串轉換為數字的方法。
  • 對比python字符串函數,學習pandas的str矢量化字符串函數
    文章來源:數據分析與統計學之美作者:黃偉呢python字符串應該是python裡面最重要的數據類型了,因此學會怎麼處理各種各樣的字符串,顯得尤為重要。我們不僅要學會怎麼處理單個字符串,這個就需要學習「python字符串函數」,我們還要學會怎麼處理二維表格中每一列每一格的字符串,這個就需要學習「pandas的str矢量化字符串函數」。今天我們採用對比的方式,帶大家總結常用的字符串函數,希望這篇文章能夠對大家起到很好的作用。