c5123 פורסם 2011 באפריל 18 מחבר Share פורסם 2011 באפריל 18 איך בדיוק נראה המבנה שלך 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 ימצא את השם שאני מחפש קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2011 באפריל 18 Share פורסם 2011 באפריל 18 לא הבנתי מילה ממה שאמרת. אתה חייב לכתוב מסודר יותר.חוץ מזה, עבור הקוד שאתה כותב תשתמש בטג קוד במקום להצמיד לשמאל.המחרוזות במבנה שלך לא מוקצות דינמית, אלא הן מערך בגודל קבוע וידוע (SIZE). יכול להיות שהמבנים עצמם מוקצים דינמית, אבל בכל כל מבנה המחרוזת היא מערך, ולא מצביע למחרוזת שמוחזקת במקום אחר. קישור לתוכן שתף באתרים אחרים More sharing options...
c5123 פורסם 2011 באפריל 18 מחבר Share פורסם 2011 באפריל 18 סליחה על הכתב אני ישתדל "שהמבנים עצמם מוקצים דינמית" כן אני יעבוד על זה מחר תודה על ההסבר (fseek) קישור לתוכן שתף באתרים אחרים More sharing options...
Ghosthunter פורסם 2011 באפריל 18 Share פורסם 2011 באפריל 18 תנסה למצוא נוסחא שתחזיר לך את המיקום בקובץ כפונקציה של מספר הרשומה שאתה צריך. אחרי שיש לך את המיקום, תגיע אליו ע"י SEEK, ותכתוב עם fwrite.רמז - זה כמו סדרה חשבונית. קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.