• C++ 字符串


            在本文中,您将学习如何在C中处理字符串。您将学习声明它们,对其进行初始化以及将它们用于各种输入/输出操作。

            字符串是字符的集合。C ++编程语言中通常使用两种类型的字符串:

    • 作为字符串类对象的字符串(标准C ++库字符串类)

    • C字符串(C风格的字符串)

    C 风格字符串

            在C编程中,字符集合以数组的形式存储,C ++编程也支持这种形式。因此,它称为C 风格字符串(C-string)。

    c -string是以null字符结尾的char类型的数组,即\0 (null字符的ASCII值为0)。

    如何定义一个C字符串?

    char str[] = "C++";

            在上面的代码中,str是一个字符串,它包含4个字符。虽然“c++”有3个字符,但是null字符\0被自动添加到字符串的末尾。

    定义字符串的代替方法

    char str[4] = "C++";
         
    char str[] = {'C','+','+','\0'};
    
    char str[4] = {'C','+','+','\0'};

    与数组一样,不需要使用为字符串分配的所有空间。例如:

    char str[100] = "C++";

    示例1:使用C ++字符串读取单词

    1. #include
    2. int main() {
    3. char str[100];
    4. std::cout << "输入字符串:";
    5. std::cin >> str;
    6. std::cout << "您输入了:" << str << std::endl;
    7. std::cout << "\n输入另一个字符串:";
    8. std::cin >> str;
    9. std::cout << "您输入了:" << str << std::endl;
    10. return 0;
    11. }

    输出结果: 

            请注意,在第二个中,仅显示“hello”,而不是“hello word xinxin”。这是因为提取运算符>>与C语言中scanf()方法一样,认为空格“ ”具有终止字符。

    示例2:C ++字符串以读取一行文本

    C ++程序读取并显示用户输入的整行。

    1. #include
    2. int main() {
    3. char str[100];
    4. std::cout << "输入字符串:";
    5. std::cin.get(str, 100);
    6. std::cout << "您输入了:" << str << std::endl;
    7. return 0;
    8. }

    运行结果: 

            要读取包含空格的文本,可以使用cin.get函数。该函数有两个参数。第一个参数是字符串的名称(字符串的第一个元素的地址),第二个参数是数组的最大容量。在上面的程序中,str是字符串的名称,100是数组的最大容量。

     

    字符串对象

            在C ++中,您还可以创建一个用于保存字符串的字符串对象。与使用char数组不同,字符串对象没有固定的长度,可以根据需要进行扩展。除了使用cin>>或cin.get()函数外,还可以使用getline()来获取输入的文本行。

    示例3:使用字符串数据类型的C ++字符串

    1. #include
    2. #include
    3. using namespace std;
    4. int main()
    5. {
    6. //声明一个字符串对象
    7. string str;
    8. cout << "输入字符串: ";
    9. getline(cin, str);
    10. cout << "您输入了: " << str << endl;
    11. return 0;
    12. }

    运行结果: 

    将字符串传递给函数 

    1. #include
    2. #include
    3. using namespace std;
    4. void display(char s[]) {
    5. cout << "输入的字符数组为:" << s << endl;
    6. }
    7. void display(string s) {
    8. cout << "输入的字符串为:" << s << endl;
    9. }
    10. int main()
    11. {
    12. string str1;//声明一个字符串对象
    13. cout << "输入字符串: ";
    14. getline(cin, str1);
    15. char str[100];
    16. cout << "输入另一个字符串: ";
    17. cin.get(str, 100);
    18. display(str1);
    19. display(str);
    20. return 0;
    21. }

     

            在上面的程序中,要求输入两个字符串。它们分别存储在str和str1中,其中str是一个char数组,而str1是一个string对象。然后,我们有两个函数display(),它们将字符串输出到字符串中。这两个函数之间的唯一区别是参数。第一个display()函数将char数组作为参数,而第二个函数将string作为参数。
            此过程称为函数重载。了解有关函数重载的更多信息。

     

  • 相关阅读:
    【FPGA目标跟踪】基于FPGA的帧差法和SAD匹配算法的目标跟踪实现
    信息安全管理与评估赛题解析-应急响应(含环境)
    C++笔记之一个轻量级的线程池库threadpool
    Word控件Spire.Doc 【加密解密】教程(四):在 C# 中为 Word 添加数字签名
    大前端CPU优化技术--NEON指令介绍
    【AutoGPT】踩坑帖(follow李鱼皮)
    【雷达通信】基于matlab频控阵波束方向图特性仿真【含Matlab源码 2193期】
    MySQL事务管理 MVCC,隔离性详解
    野火霸天虎 STM32F407 学习笔记_5 按键输入;位带操作介绍
    Java Double toString()方法具有什么功能呢?
  • 原文地址:https://blog.csdn.net/m0_48241022/article/details/133691003