נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: קבצים ב C

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
inmar32
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 14 December 2007
משתמש: מנותק/ת
הודעות: 3
נשלח בתאריך: 14 December 2007 בשעה 14:52 | IP רשוּם
ציטוט inmar32

שלום

אני מנסה לעבוד עם מבנים וקבצים בינאריים בשפת C.

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

כל פעם שאני משתמש ב FWRITE הנתונים שאני מעדכן נכנסים לסוף הקובץ .

גם אם ביצעתי FSEEK להתחלה .

 

תודה לעוזרים

 

חזרה לתחילת העמוד הצג את כרטיס החבר של inmar32 חפש הודעות אחרות של inmar32
 
אלצ'קו
אחראי פורומים
אחראי פורומים
סמל אישי
ג2ר פ33תי

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 14 December 2007 בשעה 15:57 | IP רשוּם
ציטוט אלצ'קו

מוזר. אתה יכול לתת את קטע הקוד?
חזרה לתחילת העמוד הצג את כרטיס החבר של אלצ'קו חפש הודעות אחרות של אלצ'קו
 
inmar32
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 14 December 2007
משתמש: מנותק/ת
הודעות: 3
נשלח בתאריך: 14 December 2007 בשעה 16:17 | IP רשוּם
ציטוט inmar32

 

                                    temp = (phone_book*) malloc(sizeof(phone_book));

                                    strcpy (temp->firstName , "shalom");

                                    strcpy (temp->lastName , "israeli");

                                    strcpy (temp->address , "Ramat-gan");

                                    strcpy (temp->phone_number , "057-7675441");

                                    strcpy (temp->id , "3");

                                    if(!(fp2 = fopen("phone.dat","a+b")))

                                                printf("Error open file");

                                    fseek(fp2,0,SEEK_SET);

                                    fwrite(temp,sizeof(phone_book),1,fp2);

                                    fclose(fp2);

 

חזרה לתחילת העמוד הצג את כרטיס החבר של inmar32 חפש הודעות אחרות של inmar32
 
צחי@
משתמש חבר
משתמש חבר


הצטרף / הצטרפה: 02 January 2007
מדינה: Israel
משתמש: מנותק/ת
הודעות: 209
נשלח בתאריך: 14 December 2007 בשעה 17:57 | IP רשוּם
ציטוט צחי@

מ-MSDN:
קוד:

"a+"

Opens for reading and appending; the appending operation includes the removal of the EOF marker before new data is written to the file and the EOF marker is restored after writing is complete; creates the file first if it doesn’t exist.

או במילים אחרות, פותח לקריאה ולהוספה- לא לכתיבה לתוך קובץ קיים. אם אתה רוצה לכתוב לתוך קובץ קיים, תשתמש ב +r או ב w אם לא מפריע לך למחוק את הקובץ וליצור קובץ חדש בכל פתיחה.


חזרה לתחילת העמוד הצג את כרטיס החבר של צחי@ חפש הודעות אחרות של צחי@ בקר בדף הבית של צחי@
 
inmar32
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 14 December 2007
משתמש: מנותק/ת
הודעות: 3
נשלח בתאריך: 14 December 2007 בשעה 18:25 | IP רשוּם
ציטוט inmar32

אבל אני מעוניין לעדכן רשומות בלי למחוק וליצור מחדש את הקובץ...
חזרה לתחילת העמוד הצג את כרטיס החבר של inmar32 חפש הודעות אחרות של inmar32
 
צחי@
משתמש חבר
משתמש חבר


הצטרף / הצטרפה: 02 January 2007
מדינה: Israel
משתמש: מנותק/ת
הודעות: 209
נשלח בתאריך: 14 December 2007 בשעה 23:51 | IP רשוּם
ציטוט צחי@

אז תשתמש ב +r .
חזרה לתחילת העמוד הצג את כרטיס החבר של צחי@ חפש הודעות אחרות של צחי@ בקר בדף הבית של צחי@
 

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

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

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