У меня есть массив строк 2d и строка, которую я бы хотел сравнить, но strcmp не работает, если я не передал строку в (const char *), и это приводит меня к seg неисправность.Сравнение 2d строкового массива со строкой C++
В настоящее время мой код упрощается:
string dog;
cin >> dog;
string cat[10][10];
//The cat array is then filled with values through cin
//This is the troublesome part
if (strcmp(cat[4][3].c_str(), dog[0]) == 0) {
//do stuff
}
Получение адреса собаки с & собаки [0] работает, но тогда я получаю целое слово, что был введен в собаку, а не просто письмо, которое я хочу ,
Есть ли обходной путь для этого?
Вот [какая-то документация] (http://en.cppreference.com/w/cpp/string/basic_string). Наслаждаться. – juanchopanza
Если вы хотите сравнить только первый символ, вам не нужно 'strcmp'. Если вы хотите увидеть, находится ли этот единственный символ где-то в другой строке, используйте 'string :: find'. – paddy