2016-03-23 9 views
-3

ich habeWie teilt man ein const Char *?

const char* hour = "Wed Mar 23 18:10:57 2016"; 

Ich möchte „18.10.57“ in einem anderen neuen const char *

+0

Verwenden Sie nicht 'const char *'. Cut schlägt Entfernung vor, was "const" nicht wirklich erlaubt. – erip

+0

Ich muss const char * verwenden, weil eine sdl-Funktion das braucht. –

+0

Verwende 'std :: string', bis du den Parameter brauchst, dann erstelle ein' const char * 'aus der' std :: string'. – erip

Antwort

1

Ich denke, für die Funktion std::strtok() ist, was Sie suchen schneiden. Es gibt eine Referenz here.

Sie müssen Ihre Originaldaten in einen temporären Bereich kopieren, der nicht über das const-Attribut verfügt. std::strtok() teilt Ihre Zeichenfolge entsprechend dem angegebenen Trennzeichen auf, in diesem Fall ein einzelnes Leerzeichen.

Jeder nachfolgende Aufruf an std::strtok() wird einen Zeiger auf das nächste Token in der Zeichenfolge weiterleiten.

+0

Sie können Strich nicht für eine konstante Zeichenfolge verwenden. Es verändert das Original. –

+0

@CrazyEddie Deshalb enthielt meine Antwort den Satz "Sie müssen Ihre ursprünglichen Daten in einen temporären Bereich kopieren, der nicht das Attribut 'const' hat." – Logicrat