פיני1805 פורסם 2008 ביולי 18 Share פורסם 2008 ביולי 18 שלום אנשיםאני מקצה דינמית זכרון בתוכנית ומכניס לשם מחרוזת כגודל ההקצאה אבל משום מה כשאני מדפיס את מה שהכנסתי זה מדפיס לי גם זבל אחרי המחרוזתמישהו? איך נפתרים מהזבלptr[i]=(char*)malloc((size)*sizeof(char)); if (!ptr[i]) cout<<"error"; for(int j=0;j<size;j++) [br]פורסם בתאריך: 18.07.2008 בשעה 20:11:07שכחתי שורה אחרונהptr[i][j]=input[j]; קישור לתוכן שתף באתרים אחרים More sharing options...
cold fire פורסם 2008 ביולי 18 Share פורסם 2008 ביולי 18 איך הגדרת את ptr? קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2008 ביולי 18 Share פורסם 2008 ביולי 18 זכרת שמחרוזות ב-C חייבות להסתיים ב-'0\'? שים לב שאתה צריך בשביל זה להקצות מקום אחד יותר מאורך המחרוזת. קישור לתוכן שתף באתרים אחרים More sharing options...
פיני1805 פורסם 2008 ביולי 19 מחבר Share פורסם 2008 ביולי 19 הקצתי אחד יותר.....עדיין יש לי זבל בהקצאה דינמית כשאני מדפיס. אני לא יודע למה?? קישור לתוכן שתף באתרים אחרים More sharing options...
cold fire פורסם 2008 ביולי 19 Share פורסם 2008 ביולי 19 למה שלא תשתמש בNEW וDELETE במקום בMALLOC וFREE קישור לתוכן שתף באתרים אחרים More sharing options...
Holy פורסם 2008 ביולי 19 Share פורסם 2008 ביולי 19 את ה-0\ זכרת להעתיק לדו מימדי? קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2008 ביולי 19 Share פורסם 2008 ביולי 19 למה שלא תשתמש בNEW וDELETE במקום בMALLOC וFREEא. מה זה משנה?ב. delete ו-new הם אופרטורים של ++C. אם הוא כותב ב-C, הוא צריך להשתמש ב-malloc ו-free.פותח הת'רד - יעזור מאוד אם תעלה גם את הקוד שבו אתה קורא את המחרוזות, והקוד שבו אתה מדפיס אותן. קישור לתוכן שתף באתרים אחרים More sharing options...
cold fire פורסם 2008 ביולי 20 Share פורסם 2008 ביולי 20 הוא רשם פשוט COUT (תחביר של C++) ולכן הצעתי לו new ו delete קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2008 ביולי 20 Share פורסם 2008 ביולי 20 צודק, לא שמתי לב לזה. פותח הת'רד צריך להחליט אם הוא עובד ב-C או ++C. שעטנז כזה זה לא בריא קישור לתוכן שתף באתרים אחרים More sharing options...
Winterlord פורסם 2008 ביולי 21 Share פורסם 2008 ביולי 21 זה שאתה מקצה אחד יותר לא משנה כלום.ההקצאה של C פשוט משאירה בזכרון המוקצה את מה שהיה בו קודם, כלומר, זבל.כל עוד אתה לא מאפס את התו האחרון כלומרptr[i][size - 1] = 0אין לך כל אפשרות לדעת מה יש באותו מיקום, והפונקציה cout תדפיס את המידע בזכרון עד שתגיע לתא שערכו (במקרה כנראה) 0. קישור לתוכן שתף באתרים אחרים More sharing options...
פיני1805 פורסם 2008 ביולי 21 מחבר Share פורסם 2008 ביולי 21 תודה אחי עזרת לי מאוד.. קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.