C-Funktion Abbruchkriterium while-schleife
-
Hallo zusammen,
ich hab ein Problem mit einer Funktion für euch wahrscheinlich trivial aber ich hab noch nicht so viel Programmiererfahrung.void getm2number(char datensatz[100], int *p_stelle, int *p_entscheidungm2){ int i= *p_stelle; while(datensatz[i]!='$') { if(isdigit(datensatz[i])) { *p_entscheidungm2 = true; } else { *p_entscheidungm2 = false; } i++; } i++; /*Stelle vom $-Zeichen dazuzählen*/ *p_stelle=i; return; }
Diese Funktion soll nen String nach den Kriterien in der Funktion absuchen bis ein $-Zeichen kommt. Jetzt hab ich das Problem wie ich abfangen kann wenn kein $-Zeichen in dem String ist dass das keine Endlosschleife wird. Ist wahrscheinlich eine Kleinigkeit
aber ich komm nicht drauf. Besten Dank für eure Hilfe.
Gruß Danjo
-
Hi Danjo, in C wird ein String immer einem 0-Byte terminiert. Du müsstest also die Bedingung in deiner Schleife etwas anpassen.
while( datensatz[i] && datensatz[i] != '$' ) { ... }