2016-06-20 27 views
2

I Zeilen aus einer Datei lese, sehen die Zeilen wie diese:Entfernen von Text aus String nach einem bestimmten Zeichen in C

89f81a03eb30a03c8708dde38cf:000391716 

Die Sache ist die: Ich habe alles nach den : (einschließlich der : entfernen möge). Ich versuchte alles, was ich online finden konnte, aber sie scheinen const char zu verwenden und die Zeilen sind char Zeiger.

+0

Entfernen von wo? Wenn es in einer Zeichenkette (Char-Array) ist, ersetzen Sie einfach das '': ''durch' \'. –

+0

Speichern Sie die Zeichenfolge in einem veränderbaren Array von Zeichen. Verwenden Sie dann eine Schleife, um jedes Zeichen einzeln nacheinander zu durchlaufen. Wenn Sie Ihr Zielzeichen erreicht haben, setzen Sie ein Nullzeichen in diesen Steckplatz. –

+0

Die Zeilen sind Char-Arrays, vergessen, das hinzuzufügen, sorry. –

Antwort

6

können Sie strchr verwenden:

char str[] = "89f81a03eb30a03c8708dde38cf:000391716"; 
char *ptr; 

ptr = strchr(str, ':'); 
if (ptr != NULL) { 
    *ptr = '\0'; 
} 
+1

Danke! Das hat funktioniert. –