הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   שאלות על C ועל EXE FILE (https://hosts.co.il/forums/showthread.php?t=83686)

FreshServ.Net 10-07-10 19:41

שאלות על C ועל EXE FILE
 
שלום לכולם,

רציתי לדעת משהו לגבי שפת C. אחרי שאני יוצר EXE, למה הוא מקפיץ מסך שחור של CMD ברגע שהוא רץ? כלומר, נגיד יצרתי תוכנה ששמה בתוך משתנה I את הערך חמש, קמפלתי. כל פעם שאני מריץ את התוכנה היא פותחת לי לשניה מסך של DOS, למה? איך לעשות שלא תפעיל, פשוט תעבוד ברקע?

שאלה שניה, איך ניתן לקלוט STRING מהמשתמש בלי להגדיר מראש את אורך הSTRING?

משתמש בקומפיילר: VS2008.

תודה!

liorclub 14-07-10 09:41

לגבי הסתרת החלון, תנסה את זה:
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) בע"מ