פלט ב Win32

WarLord

New member
פלט ב Win32

שלום לכולם, כפי שאתם בוודאי שמים לב אני לומד לתכנת תחת windows.תודה על ההיענות.8-p אני מצליח להדפיס אבל זה קצת מסורבל :-( בשפת C יש פונקציה ``נחמדה`` בשם printf, אבל כשאני רוצה להדפיס למסך או אפילו לפלט של הDebugger משהו שהוא לא מחרוזת אני נאלץ להקצות buffer להדפיס לתוכו בעזרת swprintf ורק אז יש לי מחרוזת שאותה אנ יכול להוציא לפלט. אין דרך קצת פחות מסורבלת ?
 

IdanR

New member
לא ידוע לי...

על דרך פחות מסורבלת. אני תמיד נוהג להשתמש ב sprintf ולעיתים ב strcat כדי להוסיף את כל מה שאני רוצה לתוך משתנה buffer, ואז מדפיס הכל בבת-אחת.
 

ihovav

New member
אולי...

תנסה את הפונקציה PUTS - בספרית STRING.H ואם אתה רוצה פונקציה קלה שלך - תכתוב פונקציה כמו שכתובה בקובץ המצורף (לא ניסיתי אותה - תנסה ותכתוב לי האם זה עובד) ואז כל פעם שאתה רוצה להדפיס - תכתוב (מחרוזת)PRINT כמו``כ אתה צריך לעשות לה קובץ HEADER ןלעשות לו INCLUDE בכל קובץ בו אתה משתמש בהדפסה :
 

ihovav

New member
תוספת...

אם אתה לא יודע - אתה יכול לשלוח לפונקציה שמקבלת *CHAR מחרוזת ללא משתנה וזה עובר ללא בעיות דוגמא : (``מה קורה גבר !!!``)PRINT המערכת מקצה זיכרון למחרוזת ואז יוצרת אליו POINTER שבו משתמשים בפונקציה - כלומר - אתה לא חייב תמיד להשתמש ב PRINTF לגבי PUTS - זו פונקציה של המערכת שמאפשרת הדפסת מחרוזות ללא כל הטררם של PRINTF מצורף קובץ של קוד שימוש ב PUTS
 

WarLord

New member
אתה מדבר על פלט ל SDTOUT

אני התכוונתי למשהו בסגנון TextOut של Win32API... אני פשוט מסרב להאמין שלא חשבו על זה שמשהו ירצה להדפיס משתנה שהוא מספר בלי לבצע הדפסה לתוך חוצץ (BUFFER) קודם. אבל אי אפשר להתווכח עם עובדות 8-(
 

ihovav

New member
זה נכון

כדי להדפיס ישירות למסך אתה ריך להשתמש ישירות במערכת ההפעלה - וזה דבר ש C לא תומכת בו כל מערכת הפעלה עובדת בצורה שונה ובגלל ש C היא גנרית לכל מערכות ההפעלה - אתה צריך להשתמש בפונקציות שלה
 
למעלה