C/C++语言函数学习(4)字符串处理函数
生活随笔
收集整理的這篇文章主要介紹了
C/C++语言函数学习(4)字符串处理函数
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
#include <string.h>
函數(shù)名稱: ? ? strchr
函數(shù)原型: ? ? char* strchr(char* str,char ch);
函數(shù)功能: ? ? 找出str指向的字符串中第一次出現(xiàn)字符ch的位置
函數(shù)返回: ? ? 返回指向該位置的指針,如找不到,則返回空指針
參數(shù)說明: ? ? str-待搜索的字符串,ch-查找的字符
函數(shù)名稱: ? ? strrchr
函數(shù)原型: ? ? char *strrchr(const char *s, int c)
函數(shù)功能: ? ? 得到字符串s中最后一個含有c字符的位置指針
函數(shù)返回: ? ? 位置指針
函數(shù)名稱: ? ? strstr
函數(shù)原型: ? ? char* strstr(char* str1,char* str2);
函數(shù)功能: ? ? 找出str2字符串在str1字符串中第一次出現(xiàn)的位置(不包括str2的串結(jié)束符)
函數(shù)返回: ? ? 返回該位置的指針,如找不到,返回空指針
函數(shù)名稱: ? ? strrev
函數(shù)原型: ? ? char *strrev(char *s)
函數(shù)功能: ? ? 將字符串中的所有字符顛倒次序排列
函數(shù)返回: ? ? 指向s的指針?
函數(shù)名稱: ? ? strnset
函數(shù)原型: ? ? char *strnset(char *s, int ch, size_t n)
函數(shù)功能: ? ? 將字符串s中前n個字符設(shè)置為ch的值
函數(shù)返回: ? ? 指向s的指針
函數(shù)名稱: ? ? strset
函數(shù)原型: ? ? char *strset(char *s, int ch)
函數(shù)功能: ? ? 將字符串s中所有字符設(shè)置為ch的值
函數(shù)返回: ? ? 指向s的指針?
函數(shù)名稱: ? ? strdup
函數(shù)原型: ? ? char *strdup(const char *s)
函數(shù)功能: ? ? 字符串拷貝,目的空間由該函數(shù)分配?
定義了一個指向字符串“China”的首地址。
這種賦值是錯誤的,因為指針為野指針。
函數(shù)名稱: ? ? strchr
函數(shù)原型: ? ? char* strchr(char* str,char ch);
函數(shù)功能: ? ? 找出str指向的字符串中第一次出現(xiàn)字符ch的位置
函數(shù)返回: ? ? 返回指向該位置的指針,如找不到,則返回空指針
參數(shù)說明: ? ? str-待搜索的字符串,ch-查找的字符
函數(shù)名稱: ? ? strrchr
函數(shù)原型: ? ? char *strrchr(const char *s, int c)
函數(shù)功能: ? ? 得到字符串s中最后一個含有c字符的位置指針
函數(shù)返回: ? ? 位置指針
函數(shù)名稱: ? ? strstr
函數(shù)原型: ? ? char* strstr(char* str1,char* str2);
函數(shù)功能: ? ? 找出str2字符串在str1字符串中第一次出現(xiàn)的位置(不包括str2的串結(jié)束符)
函數(shù)返回: ? ? 返回該位置的指針,如找不到,返回空指針
函數(shù)名稱: ? ? strrev
函數(shù)原型: ? ? char *strrev(char *s)
函數(shù)功能: ? ? 將字符串中的所有字符顛倒次序排列
函數(shù)返回: ? ? 指向s的指針?
函數(shù)名稱: ? ? strnset
函數(shù)原型: ? ? char *strnset(char *s, int ch, size_t n)
函數(shù)功能: ? ? 將字符串s中前n個字符設(shè)置為ch的值
函數(shù)返回: ? ? 指向s的指針
函數(shù)名稱: ? ? strset
函數(shù)原型: ? ? char *strset(char *s, int ch)
函數(shù)功能: ? ? 將字符串s中所有字符設(shè)置為ch的值
函數(shù)返回: ? ? 指向s的指針?
函數(shù)名稱: ? ? strdup
函數(shù)原型: ? ? char *strdup(const char *s)
函數(shù)功能: ? ? 字符串拷貝,目的空間由該函數(shù)分配?
函數(shù)返回: ? ? 指向拷貝后的字符串指針
字符串?dāng)?shù)組與字符串指針的區(qū)別:
char str[] = "China"; 1、創(chuàng)建一個字符串;2、創(chuàng)建一個變量 str 保存字符串的首地址。
定義了一個指向字符串“China”的首地址。
在C語言中,當(dāng)程序開始運(yùn)行時,程序會將所有用到的literal string(不知道中文怎么說)自動加載進(jìn)內(nèi)存中,所以字符串指針實際指向的是在程序開始運(yùn)行時就已經(jīng)在內(nèi)存中創(chuàng)建的“China”的首地址。因為literal string是存放在constant內(nèi)存區(qū),任何試圖該str的操作都是非法的,編程好的習(xí)慣是
const char *str = "China";
#include <stdio.h>int main(int argc, char *argv[]) {char *str1 = "China";char *str2 = "China";char ss[] = "China";printf("str1: %p\n", str1);printf("str2: %p\n", str2);printf("ss: %p\n", ss);return 0; }運(yùn)行結(jié)果:
str1: 00415750
str2: 00415750
ss: ? 0012FF40
str1,str2指向同一地址
char str1[] = "China"; char *str2; strcpy(str2,str1);
這種賦值是錯誤的,因為指針為野指針。
因此,strrev() 函數(shù)的正確用法…………………………………………………………………………
總結(jié)
以上是生活随笔為你收集整理的C/C++语言函数学习(4)字符串处理函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习基本库学习
- 下一篇: C/C++函数学习(6)容器分类