Заранее извиняюсь за элементарность вопроса.
Я пытаюсь использовать функцию strcmp
для проверки двух строк на соответствие символов.
Я сократил проблему до простого кода ниже:
#include <iostream>
#include <cstring>
using namespace std;
void compareStrings(string, string);
int main()
{
string string1 = "testString", string2 = "testString";
compareStrings(string1, string2);
return 0;
}
void compareStrings(string stringOne, string stringTwo)
{
if (strcmp(stringOne,stringTwo) == 0)
cout << "The strings match." << endl;
else
cout << "The strings don't match." << endl;
}
Может ли кто-нибудь объяснить следующее сообщение об ошибке компилятора?
./newProgram.cpp: In function ‘void compareStrings(std::string, std::string)’:
./newProgram.cpp:17:32: error: cannot convert ‘std::string {aka std::basic_string<char>}’ to ‘const char*’ for argument ‘1’ to ‘int strcmp(const char*, const char*)’
if (strcmp(stringOne,stringTwo) == 0)
^
Спасибо! Хз.
strcmp
со строками C++? - person Oliver Charlesworth   schedule 24.05.2014