📜  c++ 如何做一个指针字符以从键盘获取 varols - C++ (1)

📅  最后修改于: 2023-12-03 14:59:48.876000             🧑  作者: Mango

C++ 如何做一个从键盘获取字符串的指针变量?

在 C++ 中,我们可以使用指针来动态地分配内存并存储从键盘获取的字符串。下面是一个演示如何做到这一点的示例代码:

#include <iostream>

int main() {
    // 声明一个指针变量
    char* str;

    // 读取字符串长度
    std::cout << "请输入字符串的长度:";
    int length;
    std::cin >> length;

    // 分配足够的内存来存储字符串
    str = new char[length + 1]; // 额外的一个字节用于存储字符串结束符 '\0'

    // 读取字符串
    std::cout << "请输入字符串:";
    std::cin.ignore(); // 忽略之前的换行符
    std::cin.getline(str, length + 1);

    // 输出字符串
    std::cout << "您输入的字符串是:" << str << std::endl;

    // 释放内存
    delete[] str;

    return 0;
}

在以上示例代码中,我们首先声明了一个字符指针 str,它将用于存储从键盘获取的字符串。然后,我们读取了字符串的长度,并根据该长度动态地分配了足够的内存(new 运算符)。接着,我们使用 getline 函数从键盘读取了字符串,并将其存储到了 str 中。最后,我们输出了用户输入的字符串,并通过 delete[] 运算符释放了为该字符串分配的内存。

请注意,我们在分配内存时额外添加了一个字节,用于存储字符串的结束符 \0。这是因为 C++ 中的字符串是以零结尾的字符数组。

希望这个例子能对你有所帮助!