Δημοσιεύτηκε: 05 Φεβ 2012, 17:50
από Star_Light
Κώδικας: Επιλογή όλων
for (bi=0;
i < NSTRINGS && bi < MAXSTRLEN && str[bi] != '\0' && str[bi] != '\n';
bi++)
{

if (str[bi] != SEPARATOR && j < MAXSTRLEN ) {
arrstr[i][j++] = str[bi];
}
else {
arrstr[i][j] = '\0';
i++;
j = 0;
}


Για bi=0 μέχρι το i να ειναι μικροτερο απο το NSTRINGS αλλα και το bi να ειναι μικροτερο απο MAXSTRLEN και στο bi στοιχειο του str να μην υπάρχει ο μηδενικος χαρακτήρας (να μην έχεις φτάσει στο τέλος του string με αλλα λογια) και να μην υπάρχει μεσα ο χαρακτηρας αλλαγης γραμμης αυξανε μου το bi μετα πας σε εναν ελεγχο μεσω της if μεσα στο σωμα της for και λες οτι οσο το bi στοιχειο του πινακα δεν ειναι SEPARATOR (το οποιο έχεις ορισει με μια define) && j < MAXSTRLEN κάνε αυτο που έχεις μεσα στο σωμα της if .

Aλλιως θέσε εναν χαρακτήρα μηδενικο και βάλε ενα τελος στο string. Προφανως ο κωδικας αυτος ταυτίζει το ; με το '\n' υπο την έννοια οτι θα αλλάξει γραμμή και με τα 2 αυτά.