21xrx.com
2024-11-22 06:56:18 Friday
登录
文章检索 我的文章 写文章
C++如何输入个数不确定的多个字符串?
2023-07-10 21:14:26 深夜i     --     --
C++ 输入 字符串 多个 不确定

在C++编程中,输入固定数量的字符串通常比较简单,可以使用cin或getline函数进行输入。但是,如果需要输入不确定数量的字符串该怎么做呢?

一种解决方法是使用循环结构以及动态内存分配。具体来说,可以先输入一个字符串,然后用new关键字分配一个动态内存来存储该字符串,随后使用循环结构判断是否需要继续输入字符串,如果需要,则继续输入并分配动态内存。最后,使用delete关键字清空内存。

以下是一个示例代码:


#include <iostream>

using namespace std;

int main()

{

  char** strArr; // 定义指向字符指针的指针,用于存储字符串

  int n = 0; // 输入字符串的数量

  // 输入字符串数量

  cout << "请输入字符串数量: ";

  cin >> n;

  // 分配内存

  strArr = new char*[n];

  // 循环输入字符串

  for (int i = 0; i < n; i++)

  {

    // 输入字符串并分配内存

    char buffer[256];

    cout << "请输入第" << i+1 << "个字符串:";

    cin >> buffer;

    strArr[i] = new char[strlen(buffer)+1];

    strcpy(strArr[i], buffer);

  }

  // 输出结果

  cout << "你输入的字符串有:" << endl;

  for (int i = 0; i < n; i++)

  {

    cout << i+1 << ": " << strArr[i] << endl;

    // 释放内存

    delete[] strArr[i];

  }

  delete[] strArr;

  return 0;

}

上述代码中,首先输入了字符串的数量n,并根据n分配了n个动态内存,用于存储字符串。随后使用for循环结构,依次输入每个字符串并存储到分配的动态内存中。最后,输出结果并清空动态分配的内存。

总之,使用动态内存分配和循环结构可以方便地解决输入数量不确定的多个字符串的问题。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复