I/O ב-++C ב-Visual studio .NET
שלום, נתקלתי בבעיה, כאשר רציתי לפתור את השאלה הבאה: בקובץ נתנן ישנה מטריצה (אלמנטים מופרדים בטאבים, וכל שורה נמצאת בשורה נפרדת), האלמנטים הם מסוג float. נניח והייתי רוצה להגיע לאיבר הראשון בשורה לפני-אחרונה. חשבתי להגיע אל סוף הקובץ, לחזור אחורה עד שאני רואה שהתחילה שורה חדשה, ואז להתקדם צעד אחד קדימה, ומצאתי. הבעיה היא שאני לא חושב שה-Visual studio מזהה את הפונקציות שלי. הוא לא פותח לי את האפשרויות של ios_base:: כאשר אני עושה שני סימני נקודותיים. בנוסף, יכול להיות שיש בסוף השורה האחרונה גם אנטר, וזה איזהשהו מקרה קצה שלא מטריד אותי כרגע. מטריד אותי למה הוא לא מזהה את ה-ios_base. ובאותה נשימה, למה הפונקציה eof לא מופיעה לי בתפריט שנפתח כאשר אני עושה .f? זו הסביבה? זה הקוד? תודה לעוזרים. נועם. והנה הקוד:
שלום, נתקלתי בבעיה, כאשר רציתי לפתור את השאלה הבאה: בקובץ נתנן ישנה מטריצה (אלמנטים מופרדים בטאבים, וכל שורה נמצאת בשורה נפרדת), האלמנטים הם מסוג float. נניח והייתי רוצה להגיע לאיבר הראשון בשורה לפני-אחרונה. חשבתי להגיע אל סוף הקובץ, לחזור אחורה עד שאני רואה שהתחילה שורה חדשה, ואז להתקדם צעד אחד קדימה, ומצאתי. הבעיה היא שאני לא חושב שה-Visual studio מזהה את הפונקציות שלי. הוא לא פותח לי את האפשרויות של ios_base:: כאשר אני עושה שני סימני נקודותיים. בנוסף, יכול להיות שיש בסוף השורה האחרונה גם אנטר, וזה איזהשהו מקרה קצה שלא מטריד אותי כרגע. מטריד אותי למה הוא לא מזהה את ה-ios_base. ובאותה נשימה, למה הפונקציה eof לא מופיעה לי בתפריט שנפתח כאשר אני עושה .f? זו הסביבה? זה הקוד? תודה לעוזרים. נועם. והנה הקוד:
#include <iostream> #include <fstream> using namespace std; int main () { ifstream f; char c; f.open ("planted_mat.new"); f.seekg(-1,ios_base::end); do { f >> c; cout << c << endl; f.seekg(-2,ios_base::cur); }while (c!='\n'); cout << c << endl; f.close(); }