לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 18-03-2010, 10:20
  משתמש זכר uninstall uninstall אינו מחובר  
 
חבר מתאריך: 11.11.01
הודעות: 1,751
עזרה עם קריאה וכתיבה לקבצים בשפת C

היי,
אני מנסה לכתוב פונקציה שתאתחל רשומות קיימות בקובץ בינארי ע"פ קריטריון מסויים.
בקובץ כרגע יש לי 3 רשומות, 2 הראשונות עונות לקריטריון ולכן הפונקציה צריכה לאתחל אותן.
והרשומה השלישית צריכה להישאר אותו הדבר.

התוכנית שלי קוראת את הרשומה הראשונה ועורכת אותה,
אבל אח"כ היא כל הזמן קוראת את הרשומה השניה וכאילו דוחפת את הרשומה המאותחלת בין הרשומה השניה לשלישית.
כלומר אני לא מצליח להגיע לרשומה האחרונה ברשימה, הקובץ מתנפח והתוכנית לא יוצאת מהלולאה (לא מגיעים ל EOF).

קוד:
void deleteRecord(FILE *fd) { int opId, acctNum; struct account temp = { 0, "", 0, 0.0 }; struct account empty = { 0, "", 0, 0.0 }; printf( "Enter Account number and operation Id\n?>" ); scanf( "%d%d",&acctNum,&opId); rewind( fd ); while ( !feof( fd ) ) { fread( &temp, sizeof( struct account ), 1, fd ); if(temp.acctNum==acctNum && temp.opId==opId) { //record found fseek(fd,ftell(fd)-sizeof(struct account),SEEK_SET); //move to the start of the last record; fwrite( &empty,sizeof( struct account ), 1, fd ); //write an empty record } temp.acctNum=0; } //end while } //end function


הקובץ נפתח תמיד עם rb+ או עם wb+ (אם הקובץ לא היה קיים בפתיחת התוכנית).

אשמח מאוד להסבר מה לא עשיתי נכון וכיצד אפשר לתקן.
תודה רבה,


נערך לאחרונה ע"י uninstall בתאריך 18-03-2010 בשעה 10:24.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 23:19

הדף נוצר ב 0.03 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר