/*
Este exemplo mostra como escrever uma função
begins_with. Esta função servirá para verificar
se uma string começa com uma determinada
substring. Usaremos um parâmetro adicional para permitir
a comparação não sensitiva a maiúsculas/minúsculas.
*/
#include <string>
#include <iostream>
#include <algorithm> // não esqueça de incluir
using namespace std;
bool begins_with(string str, string sub,
bool case_insensitive){
if(!case_insensitive){
transform(str.begin(), str.end(), str.begin(),
(int(*)(int)) toupper);
transform(sub.begin(), sub.end(), sub.begin(),
(int(*)(int)) toupper);
}
return (str.compare(0, sub.size(), sub) == 0)
? true : false;
}
int main(int argc, char *argv[])
{
string str1("Gosto de programar em Java");
string str2("GOSTO");
if(begins_with(str1, str2, false))
cout << "A string começa com \"Gosto\"\n";
else
cout << "A string não começa com \"Gosto\"\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}