ABA


"בעייה מוזרה בסיריאליזציה ל-char *."
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #15886 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 15886
Deuce 
חבר מתאריך 1.9.08
6225 הודעות
   18:51   09.05.10   
אל הפורום  
  בעייה מוזרה בסיריאליזציה ל-char *.  
 
יש לי בעייה קטנה בקטע קוד הבא שפתרתי אותה, אבל אני לא מרוצה מהפתרון.

fstream * imgStream = new fstream();
imgStream->open(TEMP, fstream::in | fstream::out | fstream::trunc | fstream::binary);
imgStream->write( (char *) stillsRec.m_stillsImg->imageData, stillsRec.m_stillsImg->imageSize );

עד פה עשיתי סיריאליזציה מסויימת ל-imageData שהוא מטיפוס char *.
הבעייה היא שכאשר אני משתמש ב-imgStream כמו שהוא (לא משנה מה אני עושה איתו כרגע), אני מאבד מידע. ניסיתי גם להעביר את הסמן בחזרה להתחלה עם tellg.
מה שפותר את הבעייה הוא לסגור אותו ולפתוח אותו מחדש, כלומר:

imgStream->close();
imgStream->open(TEMP, fstream::in | fstream::out | fstream::binary);

עם זה הכל עובד טוב, אבל בלי זה הכל מתפקשש.
מדוע זה קורה? והאם זה הפתרון הנכון לבעייה?






                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net