溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++中有哪些字符串操作函數

發布時間:2021-01-06 16:30:55 來源:億速云 閱讀:255 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關C++中有哪些字符串操作函數,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

函數名: stpcpy
功 能: 拷貝一個字符串到另一個,遇到'\0'時停止拷貝,destin要有足夠大的空間
用 法: char *stpcpy(char *destin, char *source);
 
函數名: strcat
功 能: 字符串拼接函數,注意,destin要有足夠大的空間
用 法: char *strcat(char *destin, char *source);

函數名: strchr
功 能: 在一個串中查找給定字符的第一個匹配之處,找不到返回NULL
用 法: char *strchr(char *str, char c);
 
函數名: strcmp
功 能:  字符串大小比較,str1>str2 返回1,str1<str2 返回-1,相等返回0
用 法: int strcmp(char *str1, char *str2);
 
函數名: strncmpi
功 能: 比較字符串str1和str2的前maxlen個字符,忽略大小寫
用 法: int strncmpi(char *str1, char *str2, unsigned maxlen);
 
函數名: strcpy
功 能: 遇到'\0'時停止拷貝,destin要有足夠大的空間
用 法: char *strcpy(char *str1, char *str2);
 
函數名: strcspn
功 能: 返回字符串s1中第一個在s2中出現的字符在s1中的下標值,亦即在s1中出現而s2中沒有出現的子串的長度
用 法: int strcspn(char *str1, char *str2);
程序例:
str1="Golden Global View"; str2 = "new"
在s1中,且在s2中, n e  w這三個字符都滿足,而e是在s1中最先出現的,所以返回它的位置

函數名: strdup
功 能: 將串拷貝到新建的位置處,注意,在使用該函數時,申請了一片新的內存,所以使用后必須釋放
用 法: char *strdup(char *str);
程序例:

#include <stdio.h>
#include <string.h>
#include <alloc.h>
int main(void)
{
  char *dup_str, *string = "abcde";
  dup_str = strdup(string);	// 申請了一片新的內存地址,dup_str指向了這片內存
  printf("%s\n", dup_str);
  free(dup_str);		// 一定要釋放
  return 0;
}

函數名: stricmp
功 能: 比較字符串大小,忽略大小寫
用 法: int stricmp(char *str1, char *str2);

函數名: strerror
功 能: 返回指向錯誤信息字符串的指針
用 法: char *strerror(int errnum);
程序例:

#include <stdio.h>
#include <errno.h>
int main(void)
{
  char *buffer;
  buffer = strerror(errno);
  printf("Error: %s\n", buffer);
  return 0;
}

函數名: strcmpi
功 能: 比較兩個字符串,忽略大小寫
用 法: int strcmpi(char *str1, char *str2);

函數名: strncmp
功 能: 比較字符串大小  maxlen是比較的位數
用 法: int strncmp(char *str1, char *str2, int maxlen);

函數名: strncmpi
功 能: 把串中的一部分與另一串中的一部分比較, 不管大小寫,maxlen是比較的位數
用 法: int strncmpi(char *str1, char *str2,int maxlen);

函數名: strncpy
功 能: 串拷貝  maxlen規定拷多少位
用 法: char *strncpy(char *destin, char *source, int maxlen);

函數名: strnicmp
功 能: 忽略大小寫比較字符串  maxlen是比較的位數
用 法: int strnicmp(char *str1, char *str2, unsigned maxlen);
 
函數名: strnset
功 能: 將一個字符串中的前n個字符都設為指定字符ch
用 法: char *strnset(char *str, char ch, unsigned n);
 
函數名: strpbrk
功 能: 在源字符串(s1)中找出最先含有搜索字符串(s2)中任一字符的位置并返回,若找不到則返回空指針
用 法: char *strpbrk(char *str1, char *str2);
 
函數名: strrchr
功 能: 在串中查找指定字符的最后一個出現
用 法: char *strrchr(char *str, char c);
 
函數名: strrev
功 能: 串倒轉
用 法: char *strrev(char *str);

函數名: strset
功 能: 將一個串中的所有字符都設為指定字符
用 法: char *strset(char *str, char c);
 
函數名: strspn
功 能: 返回字符串str1中第一個不在指定字符串str2中出現的字符下標
用 法: int strspn(char *str1, char *str2);
 
函數名: strstr
功 能: 在串中查找指定字符串的第一次出現
用 法: char *strstr(char *str1, char *str2);
 
函數名: strtok
功 能: 查找由在第二個串中指定的分界符分隔開的單詞
用 法: char *strtok(char *str1, char *str2);
程序例:

#include<iostream>
#include<cstring>
using namespace std;
int main()
{
  char sentence[]="This is a sentence with 7 tokens";
  cout<< "The string to be tokenized is:\n"<< sentence <<"\n\nThe tokens are:\n\n";
  char *tokenPtr=strtok(sentence," ");
  while(tokenPtr!=NULL)
	{
    cout<<tokenPtr<<endl;
    tokenPtr=strtok(NULL," "); // 再次調用時,第一個參數傳NULL
  }
  
}

函數名: strupr
功 能: 將串中的小寫字母轉換為大寫字母
用 法: char *strupr(char *str);

函數名: swab
功 能: 交換字節 ,nbytes是交換的字節數
用 法: void swab (char *from, char *to, int nbytes);
程序例:

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
char source[15] = "Frank Borland";
char target[15];
int main(void)
{
  swab(source, target, strlen(source));
  printf("This is target: %s\n", target);
  return 0;
}

看完上述內容,你們對C++中有哪些字符串操作函數有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女