Programmieren - alles kontrollieren 4.932 Themen, 20.605 Beiträge

Wie "teile" ich Strings in C++?

Andy 386 / 6 Antworten / Baumansicht Nickles

Ich habe vor ein kleines Text-Adventure zu schreiben...
Leider weiß ich nicht, wie man Strings teilt
( "nimm Buch" würde ich dann in "nimm" und "buch" teilen,
um die Wörter dann zu verarbeiten)
Danke für alle Tipps!

bei Antwort benachrichtigen
Anonym Andy 386

„Wie "teile" ich Strings in C++?“

Optionen

schau dir mal die C Funktion strtok() an!

bei Antwort benachrichtigen
(Anonym) Anonym

„schau dir mal die C Funktion strtok an!“

Optionen

Tut mir sorry, aber ich habe keine Hilfe zu c++ :- Kannst du mir schreiben, wie ich die Funktion genau einsetze?
Danke!

bei Antwort benachrichtigen
Anonym (Anonym)

„Tut mir sorry, aber ich habe keine Hilfe zu c :- Kannst du mir schreiben, wie...“

Optionen

Wie programmierst du dann in C/C++ ohne Hilfe?

Sorry, aber die Frage tut sich mir dann schon auf, wie man eine Programmiersprache sinnvoll einsetzten will, wenn man nicht über die Dokumentation der Syntax verfügt.
Alles im Kopf haben kann man bestimmt nicht!
Ich mußte erst selber mal suchen wie das mit strtok()
noch gleich ging, ich hoffe du bist des Englischen mächtig, will das nicht erst alles übersetzen!

Bsp:
(Die sch.... Formatierung hier im Board, bringt alles durcheinander)

#include
#include

char *string = "a string,of ,,tokens";
char *token;

void main(void)
{
token = strtok(string," ,"); /*There are two delimiters here*/
while (token != NULL)
{
printf("The token is: %sn", token);
token = strtok(NULL," ,");
}
}

The output of this program is as follows:
The token is: a
The token is: string
The token is: of
The token is: tokens

bei Antwort benachrichtigen
Andy 386 Anonym

„Wie programmierst du dann in C/C ohne Hilfe? Sorry, aber die Frage tut sich mir...“

Optionen

Danke!

bei Antwort benachrichtigen
Anonym

Nachtrag zu: „Wie programmierst du dann in C/C ohne Hilfe? Sorry, aber die Frage tut sich mir...“

Optionen

Zusatz:
die Includes wurden wohl geschluckt!
strtok() ist definiert in "string.h", also es fehlt noch #include "string.h"

Diese Funktion hat aber auch Nachteile:
- Sie kann nicht für konstante Strings benutzt werden
- Der erste Übergabeparameter wird verändert
- Sie ist nicht Threadsicher, weil sie einen statischen Puffer benutzt

bei Antwort benachrichtigen
Andy 386 Anonym

„Zusatz: die Includes wurden wohl geschluckt! strtok ist definiert in string.h ,...“

Optionen

Danke!
Ich bin auf die Idee gekommen, dass ich die Eingabe einfach:
cin>>Verb>>Objekt
(für das Adventure)
schreiben kann.

bei Antwort benachrichtigen