Frage zu While-Schleife + Folge-Problem!

OP #2115602
Lesenswert?

Hallo!

Ich wollte fragen:

Wie programmiere ich eine While-Schleife die die Position eines 
einzelnen Zeichens findet?

Ich habe hier ein Bsp:
1
 
2
//Eingabe
3
sci0_puts("\nBitte Kommando eingeben:");
4
sci0_gets(command);
5

6
while (commandsub != ':'){
7

8
commandsub = command[y];
9
y++;
10

11
}

Danach möchte ich noch den Befehl bis zu dem Zeichen bei mir der : auf 
einen String zur Weiterverarbeitung schreiben!

Es geht mir insgesamt halt darum, dass mein Programm aus der Eingabe 
heraus weiß was es machen soll ;)

Danke schon einmal im Voraus!

Den Restcode wie Variablendef habe ich weggelassen!

Hoffe ihr könnt mir helfen!
OP #2115751
Lesenswert?

Johann schrieb:
> Hä? Du fragst, wie man ein Zeichen in einer Zeichenkette findet und
> präsentierst gleich die Lösung --> was ist denn nun Dein Problem?

Ja mein Problem ist, dass wenn ich folgendes Versuche:
1
sci0_puts("\nBitte Kommando eingeben:");
2
sci0_gets(command);
3

4
while (commandsub != ':'){
5

6
commandsub = command[y];
7
y++;
8

9
}
10

11
commandid[y] = command[y];
12

13
 
14

15

16
//Ausgabe
17
sci0_puts("\nAusgabe: ");
18
sci0_puts(commandid);

dann keine Ausgabe kommt bzw eine leere, obwohl die Eingabe logisch ist!

THX!!
Gast #2115880
Lesenswert?

1
char *ptr = command;
2
while(*ptr){
3
  if(*ptr == ':'){
4
    *ptr = 0;
5
    break;
6
  }
7
  ptr++;
8
}
Ersetzt das Zeichen durch eine terminierende 0. Die anschließende 
Ausgabe von "command" liefert nur die Eingabe bis zum Zeichen. Sollte es 
fehlen ist Ausgabe = Eingabe.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren