נצלו"ש, קבצים ב++C, בעיה מעצבנת.
אני קורא קובץ שהפורמט שלו לא לגמרי אחיד, והוא הולך משהו בסגנון: מספר מספר מספר X זוגות מספרים מספר מספר מספר Y זוגות מספרים וכו'. עכשיו, אני יודע כמה שורות יש בקובץ (קבוע), אבל אני לא יודע מה האורך של כל שורה (משתנה משורה לשורה). בינתיים, אני קורא שלשה, ואז מתחיל לקרוא זוגות עד שאני נכשל - אבל אני נכשל רק בסוף הקובץ, ולא בסוף השורה כמו שאני רוצה
האם יש דרך לדעת שאני בסוף השורה? מצ"ב הקוד של הלולאה שקוראת את הקובץ:
for (int i=0; i<k; i++) { if ((fscanf(sceneFile, "%f %f %f",&(molds.x), &(molds.y), &(molds.z)))!=3) { return INVALID_DATA; // 3 numbers are expected but could not be read. } while ((fscanf(sceneFile, "%f %d", &angle, &axis))==2) { molds.rotations[axis-1]+=angle; cout << "Axis = " << axis << ", angle= " << angle << "." << endl; } }