欢迎使用本站,预祝练习时长两年半的选手们到成功! [本模块信息来自tem/def/head]

字符数组相关函数

时间:2024-05-11 14:08 作者:admin 点击:
在C++中,字符数组常用于表示字符串,C++标准库提供了一些函数来处理这些字符串。这些函数主要定义在 string 和 iostream 头文件中。以下是一些常用的与字符数组相关的函数: 输入输出

在C++中,字符数组常用于表示字符串,C++标准库提供了一些函数来处理这些字符串。这些函数主要定义在 <string><iostream> 头文件中。以下是一些常用的与字符数组相关的函数:

  • 输入输出
  1. std::cout << charArray;:输出字符数组。
  2. std::cin >> charArray;:从标准输入读取字符数组。
  • 字符串比较
  1. strcmp:比较两个C风格字符串。
  2. strncmp:比较两个C风格字符串的前n个字符。
  • 字符串复制
  1. strcpy:复制C风格字符串。
  2. strncpy:复制C风格字符串的前n个字符。
  • 字符串连接
  1. strcat:连接两个C风格字符串。
  2. strncat:连接两个C风格字符串的前n个字符。
  • 字符搜索
  1. strchr:在C风格字符串中查找第一次出现的指定字符。
  2. strcspn:计算C风格字符串中不包含在某个字符集内的部分的长度。
  • 字符串搜索
  1. strstr:在C风格字符串中查找子字符串第一次出现的位置。
  2. strstr:查找子字符串在C风格字符串中第一次出现的位置。
  • 字符计数
  1. strspn:计算C风格字符串中包含在某个字符集内的部分的长度。
  • 字符串长度
  1. strlen:计算C风格字符串的长度(不包括结尾的空字符\0)。
  • 字符转换
  1. tolower:将字符转换为小写。
  2. toupper:将字符转换为大写。
  • 字符串转换
  1. std::stoi:字符串转换为整数。
  2. std::stof:字符串转换为浮点数。
  3. std::stol:字符串转换为长整数。
  • 动态内存管理
  1. new char[]:动态分配字符数组。
  2. delete[]:释放动态分配的字符数组。
  • C++标准库中的字符串操作std::string 类提供了大量方法来操作字符串,如 append, substr, find, replace 等。

1. 输入输出

#include <iostream>

int main() {
    char name[] = "John Doe";
    std::cout << "Enter your name: ";
    std::cin >> name;
    std::cout << "Hello, " << name << "!" << std::endl;
    return 0;
}

2. 字符串比较

#include <cstring>

int main() {
    char str1[] = "hello";
    char str2[] = "world";
    int result = strcmp(str1, str2); // 返回str1和str2的字典顺序
    if (result < 0) {
        std::cout << str1 << " is less than " << str2 << std::endl;
    } else {
        std::cout << str1 << " is greater than or equal to " << str2 << std::endl;
    }
    return 0;
}

3. 字符串复制

#include <cstring>

int main() {
    char src[] = "Source String";
    char dest[15];
    strcpy(dest, src); // 复制src到dest
    std::cout << "Copied String: " << dest << std::endl;
    return 0;
}

4. 字符串连接

#include <cstring>

int main() {
    char str1[] = "Hello, ";
    char str2[] = "World!";
    strcat(str1, str2); // 将str2连接到str1的末尾
    std::cout << str1 << std::endl;
    return 0;
}

5. 字符搜索

#include <cstring>

int main() {
    char str[] = "Example String";
    char ch = 'S';
    char *found = strchr(str, ch); // 查找字符'S'在str中的位置
    if (found != nullptr) {
        std::cout << "Found character at index: " << (found - str) << std::endl;
    } else {
        std::cout << "Character not found." << std::endl;
    }
    return 0;
}

6. 字符串搜索

#include <cstring>

int main() {
    char str[] = "Example string to search";
    char substr[] = "string";
    char *found = strstr(str, substr); // 查找子串"string"在str中的位置
    if (found != nullptr) {
        std::cout << "Substring found at index: " << (found - str) << std::endl;
    } else {
        std::cout << "Substring not found." << std::endl;
    }
    return 0;
}

7. 字符计数

#include <cstring>

int main() {
    char str[] = "Example string!";
    char ch = 'e';
    size_t count = strspn(str, "aeiou"); // 计算str中包含的字符集"aeiou"的长度
    std::cout << "Vowel count: " << count << std::endl;
    return 0;
}

8. 字符串长度

#include <cstring>

int main() {
    char str[] = "Example string";
    size_t length = strlen(str); // 获取str的长度
    std::cout << "String length: " << length << std::endl;
    return 0;
}

9. 字符转换

#include <cctype> // 包含字符处理函数的头文件

int main() {
    char ch = 'A';
    ch = tolower(ch); // 将字符转换为小写
    std::cout << "Lowercase character: " << ch << std::endl;
    return 0;
}

10. 动态内存管理

#include <cstring>

int main() {
    char *dynamicStr = new char[20];
    strcpy(dynamicStr, "Dynamically allocated string"); // 复制字符串到动态分配的内存
    std::cout << dynamicStr << std::endl;
    delete[] dynamicStr; // 释放动态分配的内存
    return 0;
}



(责任编辑:admin)
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%