C++ 字符串

C++ 字符串

C++ 中,字符串是一个代表字符序列的 std::string 类的对象。我们可以对字符串执行许多操作,例如拼接、比较、转换等等。

C++ 字符串示例

让我们看一下 C++ 字符串的简单示例。

#include <iostream>
using namespace std;
int main( ) {
    string s1 = "Hello";  
        char ch[] = { 'C', '+', '+'};  
        string s2 = string(ch);  
        cout<<s1<<endl;  
        cout<<s2<<endl;  
}

输出:

Hello
C++

C++字符串比较示例

让我们看一下使用strcmp()函数进行字符串比较的简单示例。

#include 
#include <cstring>
using namespace std;
int main ()
{
  char key[] = "mango";
  char buffer[50];
  do {
     cout<<"What is my favourite fruit? ";
     cin>>buffer;
  } while (strcmp (key,buffer) != 0);
 cout<<"Answer is correct!!"<<endl;
  return 0;
}

输出:

What is my favourite fruit? apple
What is my favourite fruit? banana
What is my favourite fruit? mango
Answer is correct!!

C++字符串连接示例

使用strcat()函数的简单示例。

#include <iostream>
#include <cstring>
using namespace std;
int main()
{
    char key[25], buffer[25];
    cout << "Enter the key string: ";
    cin.getline(key, 25);
    cout << "Enter the buffer string: ";
     cin.getline(buffer, 25);
    strcat(key, buffer); 
    cout << "Key = " << key << endl;
    cout << "Buffer = " << buffer<<endl;
    return 0;
}

输出:

Enter the key string: Welcome to
Enter the buffer string:  C++ Programming.
Key = Welcome to C++ Programming.
Buffer =  C++ Programming.

C++字符串复制示例

让我们来看一个使用strcpy()函数复制字符串的简单示例。

#include <iostream>
#include <cstring>
using namespace std;
int main()
{
    char key[25], buffer[25];
    cout << "Enter the key string: ";
    cin.getline(key, 25);
    strcpy(buffer, key);
    cout << "Key = "<< key << endl;
    cout << "Buffer = "<< buffer<<endl;
    return 0;
}

输出:

Enter the key string: C++ Tutorial
Key = C++ Tutorial
Buffer = C++ Tutorial

C++字符串长度示例

让我们来看一个简单的示例,使用strlen()函数来找到字符串的长度。

#include <iostream>
#include <cstring>
using namespace std;
int main()
{
    char ary[] = "Welcome to C++ Programming";
    cout << "Length of String = " << strlen(ary)<<endl;
    return 0;
}

输出:

Length of String = 26

C++字符串函数

功能 描述
int compare(const string& str) 用于比较两个字符串对象。
int length() 用于查找字符串的长度。
void swap(string& str) 用于交换两个字符串对象的值。
string substr(int pos,int n) 创建一个由n个字符组成的新字符串对象。
int size() 以字节为单位返回字符串的长度。
void resize(int n) 用于调整字符串的长度,最多为n个字符。
string& replace(int pos,int len,string& str) 它替换从字符位置 pos 开始、跨越长度 len 的字符串部分。
string& append(const string& str) 它将新字符添加到另一个字符串对象的末尾。
char& at(int pos) 它用于访问指定位置 pos 处的单个字符。
int find(string& str,int pos,int n) 它用于查找参数中指定的字符串。
int find_first_of(string& str,int pos,int n) 它用于查找指定序列的第一个出现位置。
int find_first_not_of(string& str,int pos,int n ) 它用于在字符串中搜索第一个不与字符串中指定字符匹配的字符。
int find_last_of(string& str,int pos,int n) 它用于在字符串中搜索指定序列的最后一个字符。
int find_last_not_of(string& str,int pos) 它用于搜索与指定序列不匹配的最后一个字符。
string& insert() 它在位置pos之前插入一个新的字符。
int max_size() 找到字符串的最大长度。
void push_back(char ch) 在字符串的末尾添加一个新字符ch。
void pop_back() 删除字符串的最后一个字符。
string& assign() 将新值分配给字符串。
int copy(string& str) 将字符串的内容复制到另一个字符串中。
char& back() 返回最后一个字符的引用。
Iterator begin() 返回第一个字符的引用。
int capacity() 它返回字符串的分配空间。
const_iterator cbegin() 它指向字符串的第一个元素。
const_iterator cend() 它指向字符串的最后一个元素。
void clear() 它从字符串中删除所有的元素。
const_reverse_iterator crbegin() 它指向字符串的最后一个字符。
const_char* data() 它将字符串的字符复制到数组中。
bool empty() 它检查字符串是否为空。
string& erase() 根据指定的规则删除字符。
char& front() 返回字符串的第一个字符的引用。
string& operator+=() 将一个新字符添加到字符串的末尾。
string& operator=() 将一个新值分配给字符串。
char operator 检索指定位置pos处的字符。
int rfind() 搜索字符串的最后一次出现。
iterator end() 引用字符串的最后一个字符。
reverse_iterator rend() 指向字符串的第一个字符。
void shrink_to_fit() 它减小容量并使其等于字符串的大小。
char* c_str() 它返回一个指向包含空终止字符序列的数组的指针。
const_reverse_iterator crend() 它引用字符串的第一个字符。
reverse_iterator rbegin() 它引用字符串的最后一个字符。
void reserve(inr len) 它请求更改容量。
allocator_type get_allocator(); 它返回与字符串关联的分配对象。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程