gpt4 book ai didi

c++ - 将文本存储在 char 数组中,然后比较数组的内容

转载 作者:行者123 更新时间:2023-11-28 01:22:53 25 4
gpt4 key购买 nike

我正在尝试弄清楚如何将用户输入存储到 char 数组中。例如用户输入:hello, then char array[0] = "hello";然后当他再次输入“hello”时,它不会插入到 char 数组中,因为它已经在数组中。

Input: hello

Output: char array[] = {"hello"};

Input: world

Output:

char array[] = {"hello","world"};

Input: hello

checks: array[i] == "hello"

Output: don't insert to char array

我需要一个示例程序

最佳答案

您可能会使用更多 C++ 方式使用标准容器:

#include <iostream>
#include <set>
#include <string>

int main()
{
std::string buffer;
std::set<std::string> data;

std::cin >> buffer;
while (buffer != "quit")
{
if (data.find(buffer) == data.end())
{
auto res = data.insert(buffer);
if (! res.second)
std::cerr << "ERROR:: Could not insert string '" << buffer << "'." << std::endl;
}
else
std::cout << "WARNING:: String '" << buffer << "' already found." << std::endl;
std::cin >> buffer;
}
return 0;
}

否则,你应该以C风格的思维来做:

  • 将字符串存入缓冲区
  • 分配新的char数组并将其放入数组列表中
  • 使用 strcmp() 函数遍历列表以查找字符串是否已经存在
  • 不要忘记在程序结束时清理任何动态分配的内存——这会导致内存泄漏

关于c++ - 将文本存储在 char 数组中,然后比较数组的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55294348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com