![]() |
שאלות על C ועל EXE FILE
שלום לכולם,
רציתי לדעת משהו לגבי שפת C. אחרי שאני יוצר EXE, למה הוא מקפיץ מסך שחור של CMD ברגע שהוא רץ? כלומר, נגיד יצרתי תוכנה ששמה בתוך משתנה I את הערך חמש, קמפלתי. כל פעם שאני מריץ את התוכנה היא פותחת לי לשניה מסך של DOS, למה? איך לעשות שלא תפעיל, פשוט תעבוד ברקע? שאלה שניה, איך ניתן לקלוט STRING מהמשתמש בלי להגדיר מראש את אורך הSTRING? משתמש בקומפיילר: VS2008. תודה! |
לגבי הסתרת החלון, תנסה את זה:
http://stackoverflow.com/questions/5...console-window קליטת סטרינג בלי להגדיר מראש את הגודל שלו: בהתחלה אתה צריך לקלוט עם אורך מסויים - אפילו גדול מאוד ואחרי זה אתה משכפל את ה STRING באמצעות הפונקציה strdup הפונקציה עושה duplicate לגודל המקורי של המחרוזת, ככה שבזכרון המחרוזת תתפוס מקום רק של הגודל שצורכים. הפונקציה strdup מחזירה מצביע, ככה שצריך להגדיר את זה בצורה הבאה: char str[1000] char *name gets(str) name = strdup(str) אם אתה רוצה לקלוט ישר ל name אתה צריך לעשות הקצאה דינמית של זכרון, באמצעות malloc |
כל הזמנים הם GMT +2. הזמן כעת הוא 00:45. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ