פורסם 2011 באפריל 1814 שנים מחבר איך בדיוק נראה המבנה שלך struct phone { char pname[SIZE],lname[SIZE],phon[SIZE];}; size is define as 15 right now האם המחרוזות מוחזקות ע"י מצביעים שמוקצים דינמיתכן אין לי בררה אני לא יכל לדעת כמה מספרים המשתמש יוסיף לרשימהפתרתי את הבעיה הזאת בתרגיל אחר gsize=5ואני בודק מתי יש רק עוד מקום אחד (counter סופר כל פעם שהמשתמש מוסיף נתונים או מוריד)ואז אני מוסיף 5 ו realloc כדי להגדיל i f(counter+1>=gsize) { printf("reallocing \n"); gsize=gsize+5; one=(struct cars*)realloc(one,sizeof(struct cars)*gsize); if(one==NULL){printf("error no room in memory\n");free(one);} } בכל מקרה אני חושב שהיה לי הרבה יותר קל לחפש שם אם strcmp ולתת למשמש אפשרות לשנות את אותו מיבנהאני יכל רק להשתמש ב fseek כמו מקדם של מצביע ++ אחרת אני לא מבין אך fseek ימצא את השם שאני מחפש
פורסם 2011 באפריל 1814 שנים לא הבנתי מילה ממה שאמרת. אתה חייב לכתוב מסודר יותר.חוץ מזה, עבור הקוד שאתה כותב תשתמש בטג קוד במקום להצמיד לשמאל.המחרוזות במבנה שלך לא מוקצות דינמית, אלא הן מערך בגודל קבוע וידוע (SIZE). יכול להיות שהמבנים עצמם מוקצים דינמית, אבל בכל כל מבנה המחרוזת היא מערך, ולא מצביע למחרוזת שמוחזקת במקום אחר.
פורסם 2011 באפריל 1814 שנים מחבר סליחה על הכתב אני ישתדל "שהמבנים עצמם מוקצים דינמית" כן אני יעבוד על זה מחר תודה על ההסבר (fseek)
פורסם 2011 באפריל 1814 שנים תנסה למצוא נוסחא שתחזיר לך את המיקום בקובץ כפונקציה של מספר הרשומה שאתה צריך. אחרי שיש לך את המיקום, תגיע אליו ע"י SEEK, ותכתוב עם fwrite.רמז - זה כמו סדרה חשבונית.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.