
23-01-2008, 01:15
|
|
|
|
חבר מתאריך: 09.05.05
הודעות: 3
|
|
|
בעיית כתיבה לקובץ, גם fflush כבר לא עוזר ואולי זה מה שהרס...
הי.
כתבתי קוד לאחרונה שאמור לכתוב לקובץ:
void rot90(int** arr_pic,const int x,const int y, char* oFile)
{
ofstream o_file(oFile);
o_file.open(oFile);
o_file<<"Header: ";
o_file<<y<<" "<<x<<"\n";
int** rot_arr;
rot_arr= new int*[y];
for (int i=0; i<y; i++)
{
rot_arr[i]= new int[x];
for (int j=0; j<x ;j++)
{
rot_arr[i][j]=arr_pic[x-1-j][i];
o_file<<(rot_arr[i][j])<<" ";
}
o_file <<"\n";
}
delete [] (rot_arr);
o_file.close ();
}
לצורך דיבאג הכנסתי מדי פעם הודעות ולאחריהן את הפקודה:
fflush(stdout) ; //debug
הבעיה כרגע היא שלא נכתב לי שום דבר לקובץ על אף שהוצאתי הודעות בתוך הפונקציה לפני ואחרי ועל אף שהוספתי את השורה הבאה:
int a = o_file.flush(); cout a;
ואני מקבל על המסך שהפלאש מחזיר 0 כלומר שהפונקציה עבדה בסדר.
יש למישהו מושג מה לעשות במצב כזה?
כפי שאמרתי לא נכתב שום דבר לקובץ, אמנם הקובץ נוצר אבל הוא ריק. התוכנית בטוח עוברת דרך הקוד הזה של הכתיבה לקובץ והפלאש של הקובץ מחזיר 0 ובכל זאת אין כלום בקובץ.
אלעד.
|