Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

11

23.03.2008, 12:59

ja, aber std::transform erwartet einen enditerator. wenn man die länge des strings nicht kennt müsste man die zuerst bestimmen. welch verschwendung von ressourcen :p

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

12

23.03.2008, 13:21

Zitat von »"dot"«

ja, aber std::transform erwartet einen enditerator. wenn man die länge des strings nicht kennt müsste man die zuerst bestimmen. welch verschwendung von ressourcen :p


Da hast du natürlich recht! Man spart ja wo man kann! ;)
@D13_Dreinig

13

23.03.2008, 15:01

Hab neulich mal gesehen, das Boost wohl auch sowas in der Art hat. Ich habs mir nicht so genau angesehen, aber boost soll ja sehr sehr gut sein und wenn man da ne fertige Lösung hat, wieso selber schreiben?
Lieber dumm fragen, als dumm bleiben!

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

14

23.03.2008, 15:10

Zitat von »"Jonathan_Klein"«

Hab neulich mal gesehen, das Boost wohl auch sowas in der Art hat. Ich habs mir nicht so genau angesehen, aber boost soll ja sehr sehr gut sein und wenn man da ne fertige Lösung hat, wieso selber schreiben?


Weil nicht jeder boost hat. Aber tatsächlich existieren einige Stringalgorithmen in boost. Ein Blick ist es tatsächlich Wert. Aber wieso nicht selbst schreiben?
@D13_Dreinig

15

24.03.2008, 16:44

@david_pb: Hab das mal ausprobiert. Funktioniert, wenn man folgendes ändert:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
ValueType operator()( ValueType ch )
{
    return std::toupper( ch, m_loc); // Compiler sagt: Funktion akzeptiert keine 2 Argumente

}

ValueType operator()( ValueType ch )
{
    return std::toupper( ch ); // So gehts

}

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

16

24.03.2008, 17:09

Zitat von »"TrikkieMikkie"«

@david_pb: Hab das mal ausprobiert. Funktioniert, wenn man folgendes ändert:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
ValueType operator()( ValueType ch )
{
    return std::toupper( ch, m_loc); // Compiler sagt: Funktion akzeptiert keine 2 Argumente

}

ValueType operator()( ValueType ch )
{
    return std::toupper( ch ); // So gehts

}


Meine Version geht auch, du brauchst nur noch den richtigen Header. Nämlich <locale>. Und das beste... Dann funktionierts sogar (theoretisch) für Unicodezeugs!
@D13_Dreinig

17

24.03.2008, 17:18

Joh, stimmt. Ich war noch so damit beschäftigt, den Code zu begreifen, daß ich auf so eine Idee nicht gekommen bin. Thx!

Werbeanzeige