לא נראה לי
הוא אמור להתמודד עם כל מה שמערכת ההפעלה מתמודדת איתו, זה יותר נראה כמו זליגת זכרון/stack corruption או כל מיני דברים מהסוג הזה. תבדוק מה קורא מסביב, לפני הפונקציה הזאת, איפשהו מישהו דופק משהו שמתמטא בתעופה הזאת. לגבי סטרימים - יש את iostream לסטנדרטיים, fstream לקבצים, ועוד כמה STLים לצרכים אחרים, שהם לא עבודה עם קבצים (אתה יכול לעבוד עם כל דבר בעצם בתור stream). מדובר במחלקות, שאפשר להוריש, ותבניות, שאפשר לבנות לכל טיפוס לפי הצורך. זה יחסוך לך הרבה מאוד שורות קוד, תלמד את זה.