1Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
337
337
EMPFEHLEN
-
Hallo,
ich bin ein totaler Anfänger in der Programmiersprache c und bräuchte deshalb ein wenig Hilfe:
Ich benutze die neueste Version von code blocks mit mingw32-g++
Ich bekomme zb folgenden string: sende\0status\0eingabe
ich möchte mit strcmp dann die einzelne Teilstücke vergleichen. Dazu muss ich die einzelnen Teilstücke in einen separaten String ablegen .
Das möchte ich mit folgendem Programm mache:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
#include <stdio.h> #include <stdlib.h> int main() { char befehl[10]; befehl[0] = 't'; befehl[1] = 'e'; befehl[2] = 's'; befehl[3] = 't'; befehl[4] = '\0'; befehl[5] = 'e'; befehl[6] = 'r'; befehl[7] = '\0'; befehl[8] = 't'; befehl[9] = '\0'; char string[5]; int m = 0; int n = 0; int x; for(x=0;x<3;x++) { while(befehl[m]); { string[n] = befehl[m]; m++; n++; } m++; n = 0; printf( "%s\n", string ); } }
Das Programm lässt sich ausführen, bekomme aber keine Ausgabe.
Ich habe es zunächst ohne die Verlegung probiert, indem ich mir einfach die Startpositionen der einzelnen Befehle im String gemerkt habe:
Code :1
strcmp (str[5], test)
Dieser Code sollte dann den Teststring mit ( in dem Beispiel ) "er" vergleichen, hat aber nicht funktioniert weil der Compiler gemeckert hat und ich dann nicht weiter wusste.
Weis jemand warum mein erster Code nicht funktioniert oder kennt jemand einen eleganteren Weg ?
Mfg Peter
-
Hi,
Mach mal nach dem while(befehl[m]) das ; weg.
-
Noch ein Tipp:
Das
geht auch einfacher:Code cpp:1 2 3 4 5 6 7 8 9 10 11
char befehl[10]; befehl[0] = 't'; befehl[1] = 'e'; befehl[2] = 's'; befehl[3] = 't'; befehl[4] = '\0'; befehl[5] = 'e'; befehl[6] = 'r'; befehl[7] = '\0'; befehl[8] = 't'; befehl[9] = '\0';
Code cpp:1 2 3 4
char befehl[10]; strcpy(befehl, "test"); strcpy(&befehl[5], "er"); strcpy(&befehl[8], "t");
GrußNetiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
"Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?
-
Auch eine Variante:Noch ein Tipp:
Code c:1
char befehl[11] = {"test\0er\0t\0"};
Gruss
cwriterIntel inside - Idiot outside :-)
Ich schreibe in C und bin Anfänger.
______________________________
Falls ich eines Tages einen guten Beitrag schreiben werde, bitte bewerten und/oder Danke sagen.
Danke
Ähnliche Themen
-
C++ Int zerlegen
Von Shadow1911 im Forum C/C++Antworten: 21Letzter Beitrag: 25.08.10, 20:23 -
String zerlegen
Von touristguy im Forum C/C++Antworten: 5Letzter Beitrag: 09.04.10, 15:28 -
CSV - Zerlegen
Von Raven280438 im Forum PHPAntworten: 5Letzter Beitrag: 04.12.07, 08:59 -
C# INI zerlegen
Von toko84 im Forum .NET CaféAntworten: 5Letzter Beitrag: 16.05.07, 10:32 -
URL Zerlegen problem :/
Von MichaSBK im Forum PHPAntworten: 8Letzter Beitrag: 18.10.03, 15:52





Zitieren

Login






