pinter && strstr() - Frage
-
Hallo alle zusammen!
ich muß strings in innerhalb anderen Strings suchen und gleichzeitig zählen.
wenn der SuchString vorhanden ist, ist kein Problem aber wenn in dem Suchbereich kein suchstring gibts kriege ich die Fehlermeldung "Segmentation Fault".
ich habe hier unten mein Code geschrieben, wenn jemand mir helfen kann wäre sehr Kooperativ... int count = 0; char srchPt = NULL; char srchPt1 = NULL; char* srchstrg [] ={"_abcd", "_cdef", NULL}; char srchdmn [] = {"These search strings are not here"}; for (i=0; srchstrg [i] != NULL; i++) { srchPt = strstr (srchdmn, srchstrg [i]); count = 0; if ( srchPt != NULL ) { for (j=0; strstr (srchPt + j, srchstrg [i]) != NULL; j += 4) { srchPt1 = strstr (srchPt + j, srchstrg [i]); count++; srchPt = srchPt1; } printf ("\nThe search domaine contains the search string %s %i times\n", srchstrg [i], count);} else { do { i = i + 1; srchPt = strstr (srchdmn, srchstrg [i]); }while (srchPt == NULL); //Here is the Problem??? srchPt = strstr (chPt, srchstrg [i]); for (j=0; strstr (srchPt + j, srchstrg [i]) != NULL; j += 4) { srchPt1 = strstr (srchPt + j, srchstrg [i]); count++; srchPt = srchPt1; printf ("\nThe search domaine contains the search string %s %i times\n", srchstrg [i], count); }
-
abdel_16 schrieb:
do { i = i + 1; if ( srchstrg [i] == NULL ) // abfrage ob letzter suchstring break; srchPt = strstr (srchdmn, srchstrg [i]); }while (srchPt == NULL );
Es fehlt auf jeden fall die obige Abfrage. Denke du must deinen Algo noch mal überdenken.
Kurt