[C] Stringoperationen

unentschieden

Lt. Junior Grade
Registriert
Sep. 2002
Beiträge
498
moin leude,

ich hab folgendes ziel:
ich will aus einer email aus einer zeile ein bestimmtes wort raussuchen und auf den moni ausgeben lassen.

hab bis jetzt..

#include <stdio.h>
#include <string.h>
int main()
{

char Test1[100] = "Return-Path: <HertzBK@arcor.de>";
char Test2[100] = "Return-Path: <";
char *Test3;



Test3 = strstr(Test1, Test2);
Test3 = Test3 + strlen(Test2);

printf("%s", Test3);

getchar();
return 0;
}

also ergebniss bekommt ich "HertzBK@arcor.de>" raus... erwünscht ist aber "HertzBK@arcor.de".

wie mach ich das

thx
 
Re: Frage zu C

Ich verstehe echt nicht was die Zeile Test3 = Test2 + strlen(Test2) bewirken soll :confused_alt:.

Aber für Stringoperationen ist die Sprache C absolut grauenhaft zu handhaben.
Wenn keine zwingenden Gründe vorliegen würde ich dann doch lieber mit der C++ Klasse String arbeiten.

DIe von Husky erwähnte bibliothek Boost ist auch für C++.
 
Re: Frage zu C

PHP:
#include <stdio.h>
#include <string.h>
int main()
{

char Test1[100] = "Return-Path: <HertzBK@arcor.de>";
char Test2[100] = "Return-Path: <";
char *Test3;
int len;


Test3 = strstr(Test1, Test2);
Test3 = Test3 + strlen(Test2);
len = strlen(Test3);
strncpy(Test3 +(len -1),"\0",2);
printf("%s", Test3);

getchar();
return 0;
}
so lässt sich das auch realisieren
 
Zurück
Oben