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

Toa

Alter Hase

  • »Toa« ist der Autor dieses Themas

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

71

25.08.2007, 14:47

Sorry für Doppelpost hab nur wieder mal ne Frage :

Ich habe ja alles in strings eines Vector eingelesen und anschließend in andere strings umgelagert :

C-/C++-Quelltext

1
string slot1 = directory_list[ 0 ];

In beiden Befindet sich ungefähr sowas :

Quellcode

1
Toa.sav


Jetzt möchte ich das .sav von Slot1 löschen das habe ich so gemacht :

C-/C++-Quelltext

1
slot1 -= ".sav";


Nur da kommt folgender fehler :

Quellcode

1
error: No match for operator -= in slot1 -= ".sav"


Weiß jemand warum ?[/cpp]

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

72

25.08.2007, 15:03

Sooo ganz bestimmt nicht! Du musst die Position der Erweiterung suchen und über substr den ersten Teil extrahieren. Oder per erase den letzten Teil löschen.

Beisiel:

C-/C++-Quelltext

1
2
3
4
5
6
7
std::string foo( "test.sav" );
std::string::size_type pos = foo.find_last_of( ".sav" );

if ( pos != std::string::npos )
    foo.erase( pos-3 );

std::cout << foo;
@D13_Dreinig

Toa

Alter Hase

  • »Toa« ist der Autor dieses Themas

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

73

25.08.2007, 15:17

Dankeschön =)

Werbeanzeige