Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

[C++] Hoe een string converteren naar lowercase?

Pagina: 1
Acties:
  • 239 views

  • Denzo
  • Registratie: Augustus 2007
  • Laatst online: 09-11 00:50
Hallo, ik heb een programma geschreven om jezelf te toetsen. Nu zou ik graag willen weten hoe je een string kan converteren naar lowercase. Ik wil namelijk case-insensitivity mogelijk maken.

Stel dat het antwoord "Michiel de Ruyter" is. Dan geeft het programma aan dat het fout is als de gebruiker "Michiel De Ruyter" of "Michiel de ruyter" invoert. Nu heb ik daarvoor een oplossing gevonden. De input en het antwoord uit het tekstbestand allebei naar lowercase converteren, maar het enigste dat ik kan vinden is de tolower(); functie, maar deze werkt alleen voor een enkel karakter.

Weet iemand hoe dit moet?

Alvast bedankt.

Verwijderd

Ik ken persoonlijk de functies in C++ niet, maar je kunt vrij makkelijk een functie schrijven die door alle chars van een string loopt toch?
Pseudocode:
code:
1
2
3
4
5
6
7
8
9
function strToLower(str)
{
  string lowerstr;
  for(int i = 0; i < str.length; i++)
  {
    lowerstr += tolower(str[i]); // weet niet of + de concat operator is in c++
  }
  return lowerstr;
}

[ Voor 3% gewijzigd door Verwijderd op 01-07-2008 14:12 ]


  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 26-05 17:08
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
template<typename _String>
void lower_case(_String &a_String, std::locale &a_Locale){
    std::transform(a_String.begin(), a_String.end(), a_String.begin(),
        std::bind1st(
            std::mem_fun(&std::ctype<typename _String::value_type>::tolower),
            &std::use_facet<std::ctype<typename _String::value_type> >(a_Locale)));
}

template<typename _String>
void lower_case(_String &a_String){
    std::locale l_Locale;
    lower_case(a_String, l_Locale);
}


Is de functie die ik altijd gebruik, het werkt met zowel string als wstring en ondersteund verschillende locales.

  • Denzo
  • Registratie: Augustus 2007
  • Laatst online: 09-11 00:50
Dat moet toch simpeler te doen zijn? Natuurlijk kan ik dit wel er in stoppen, maar er moet toch een simpelere manier zijn, ik wil m'n programma zo simpel mogelijk houden.

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 08:42

Creepy

Tactical Espionage Splatterer

Eehh "C++ string lowercase" intypen op google levert echt enorm veel kant en klare bruikbare stukken code aan. Ik kan me dan ook niet voorstellen dat je uberhaupt zelf al even hebt gezocht. Hier op GoT verwachten we wel van je dat je in eerste instantie zelf probeerd om een oplossing te zoeken en en dat ook aangeeft in je startpost wat je dan hebt gevonden en waarom dat dan niet voldeed. het is hier geen helpdesk om even snel een oplossing te scoren.

[ Voor 14% gewijzigd door Creepy op 01-07-2008 14:26 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Dit topic is gesloten.