String vergleich Problem
-
Also ich habe ein Server und Client Programm erstellt und moechte folgendes machen.
Wenn der Client ein Buffer received, soll er die ersten 4 buchstaben des Strings lesen und vergleich ( mit strcmp() ).
Wie kann ich aus einem String die ersten 4 Buchstaben rauslesen ?
Der Code is jetzt
char buffer[MAX_PATH]; long rc = recv(s,buffer,sizeof(buffer),0); // Hier code fuer falls SOCKET_ERROR etc auftreten if(strcmp(buffer,"befehl1")==0) { Befehl1(); }
-
ooops, fehlposting. bitte löschen oder überlesen...
-
Wie kann ich aus einem String die ersten 4 Buchstaben rauslesen ? ..
Ich will aus dem recv(s,buffer,sizeof(buffer),0); die ersten 4 Buchstaben raushaben
-
willst du denn in
if( strcmp(buffer, "befehl1" ) == 0 )nur ein paar Buchstaben vergleichen?
Willst du ein paar Buchstaben aus einer Zeichenkette löschen?
Willst du eine neue Zeichenkette aus ein paar Buchstaben einer anderen basteln?
Ich hör jetzt mal auf zu raten...
Greetz, Swordfish
-
PhoeNix_FasT schrieb:
Wie kann ich aus einem String die ersten 4 Buchstaben rauslesen ? ..
Ich will aus dem recv(s,buffer,sizeof(buffer),0); die ersten 4 Buchstaben raushaben
buffer[0]
buffer[1]
buffer[2]
buffer[3]oder via for-Schleife
-
Also vergesst ma den Code
Angenommen :
char buffer[MAX_PATH]; char buffer2[MAX_PATH]; strcpy(buffer,"Hallo asdfgh");Jetzt waer buffer = "Hallo asdfgh"
Jetzt moechte ich die ersten 4 Buchstaben aus buffer heraushaben und in buffer 2 speichernedit : danke .. das einfachste weiss ich wieder nich

for(int i=0;i<=3;i++) { strcat(buffer2,buffer[i]); }Wuerde das gehen ? hab gerade kein compiler hier
-
Bei strncmp (strncpy) kann man die Anzahl der Zeichen festlegen, die verarbeitet werden sollen.
-
[edit] f*ck, 22 Sekunden zu spät... [/edit]
PhoeNix_FasT schrieb:
for( int i = 0; i <= 3; i++ ) { strcat( buffer2, buffer[i] ); }Wuerde das gehen?
Es würde compilieren, aber nicht den Effekt haben den du willst. Rauskommen würde IMHO "Hallo asdfghHallo asdfghallo asdfghllo asdfghlo asdfghlo asdfgh".
du willst:
#include <string.h> // ... char buffer[ MAX_PATH ]; char buffer2[ MAX_PATH ]; strcpy( buffer, "Hallo asdfgh" ); strncpy( buffer2, buffer, 4 ); // ...Greetz, Swordfish
-
Ach na sicher... die einfachsten Sachen ...