我正在嘗試編寫函數,它在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