我正在尝试编写函数,它在char*
数组中搜索char *
元素,并且函数start检查此元素,如果元素存在于数组中,我将“找到“,如果不是,则应该”插入“并将元素添加到数组中。在C++中查找char *数组中的char *元素
我写了这段代码,但我不知道如何去尝试它,程序总是给我例外,我能做些什么来检查指针数组中的元素?
void checkFunction(char*myArray[], char *element,bool flag)
{
for (int i = 0; i < strlen(*myArray) ; ++i)
{
if (myArray[i] == element)
{
flag = true;
}
}
*myArray = element;
flag = false;
if (flag)
{
cout << "Found" << endl;
}
else
{
cout << "Inserted" << endl;
}
}
你是不是准备好使用poiners和数组,这是专家们先进的低层次的语言特点。请使用'std :: string'和'std :: vector'。 –
当您将字符指针与另一个字符指针进行比较时,您并未比较它们的值。你正在比较他们在记忆中的位置。你必须像这样检查它们:strcmp(a,b)== 0; – Paulo