日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C/C++语言函数学习(4)字符串处理函数

發(fā)布時間:2024/8/23 c/c++ 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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ù)分配?

函數(shù)返回: ? ? 指向拷貝后的字符串指針


字符串?dāng)?shù)組與字符串指針的區(qū)別:

char str[] = "China"; 1、創(chuàng)建一個字符串;

2、創(chuàng)建一個變量 str 保存字符串的首地址。

char *str = "China";
定義了一個指向字符串“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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。