我试图弄清楚如何将用户输入存储到char数组中。例如,用户输入:hello,然后char array [0] =“ hello”;然后,当他再次输入“ hello”时,它就不会插入到char数组中,因为它已经在数组中了。
new_df =df.set_index('title').filter(like='pancakes', axis = 0).reset_index()
我需要一个示例程序
答案 0 :(得分:1)
使用c ++的示例代码将如下所示,因为这是C ++,我们不仅可以使用C ++提供的功能,例如std::string
,std::vector
和许多其他有用的算法,例如std::find
在STL中实现。希望这就是你想要的。
#include <string> // for std::string
#include <vector> // for std::vector
#include <iostream> // for std::cout, std::cin, and std::endl;
#include <algorithm> // for std::find
int main() {
std::vector<std::string> array;
std::string line;
std::cout << "Input : ";
while(std::getline(std::cin, line)) {
if (std::find(array.begin(), array.end(), line) == array.end()) { // If we can't find the string in the array
array.push_back(line);
std::cout << "{ ";
for (std::string str: array) {
std::cout << str << ", ";
}
std::cout << "}" << std::endl;
} else {
std::cout << "Output : Don't Insert" << std::endl;
}
}
}
答案 1 :(得分:1)
您可能会使用标准容器使用更多的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()
函数遍历列表以查找字符串是否已经存在