פורסם 2012 ביולי 2513 שנים יש לי string שמכיל בתוכו מספרים. למשל "1041" ואני צריך להדפיס אותו שיראה כך: "001041" זאת אומרת שכל מספר שיש לי ב string ייוצג על ידי 6 תווים בהדפסה. כרגע זה מדפיס לי למשל "0" ואני צריך שידפיס "000000" נסיתי עם strtol אבל זה לא מצליח לי. יש למישהו רעיון?תודה.
פורסם 2012 ביולי 2513 שנים printf("%06s", str);ה-6 אומר לו לרפד את המחרוזת ככה שהיא תהיה לפחות ברוחב 6, וה-0 אומר לרפד ע"י אפסים (ברירת המחדל היא רווחים).חוץ מזה, יכלת גם לבדוק את אורך המחרוזת באמצעות strlen ואם הוא קטן מ-6, אז להדפיס מספיק אפסים בהתאם.
פורסם 2012 ביולי 2513 שנים המממ, יכול להיות שזה עובד רק עם מספרים ולא עם מחרוזות.באיזה קומפיילר אתה משתמש?נסה להמיר את המחרוזת למספר עם atoi ואז להדפיס עם %06d.וכמו שאמרתי קודם, אתה יכול לעשות את זה ידנית עם לולאה פשוטה.
פורסם 2012 ביולי 2513 שנים חוץ מזה, יכלת גם לבדוק את אורך המחרוזת באמצעות strlen ואם הוא קטן מ-6, אז להדפיס מספיק אפסים בהתאם.זה פשוט וקל. לולאת for שרצה מאורך המחרוזת ועד 6 (כולל) ומדפיסה אפסים.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.