פורסם 2007 באוקטובר 2818 שנים יש איזה פונקצית ספריה שעושה את אותו הדבר כמו isdigit רק על מספר שהוא יותר מחד סיפרתי?לדוגמא אם אני מצפה לקלט של תעודת זהות, היא מחזירה false אם הקלט לא כולל מספרים בלבד.
פורסם 2007 באוקטובר 2818 שנים אתה גם יכול לנסות את strtol, שבעזרת הפרמטר שהיא מחזירה אפשר לראות אם כל הקלט היה מספרים או לא.
פורסם 2007 באוקטובר 2818 שנים מחבר כן אבל הבעיה שהיא מקבלת סטרינג והPK שלי הוא long וזה יהיה סיפור לשנות אותו.לא נורא נממש :-\תודה.
פורסם 2007 באוקטובר 2818 שנים כן אבל הבעיה שהיא מקבלת סטרינג והPK שלי הוא long וזה יהיה סיפור לשנות אותו.לא נורא נממש :-\תודה.אם כבר יש לך מספר ולא מחרוזת, למה ביקשת פונקציה שבודקת אם מחרוזת היאר מספר?
פורסם 2007 בנובמבר 118 שנים מחבר כי אני קולט עם scanf אל תוך משתנה longהבעיה שזה לא מונע ממני לקלוט אליו גם אותיות וכל מיני תוים שלא קשורים למספרים.ואני רוצה לבדוק אם באמת הכניסו מספרים ולא חירבוש.
פורסם 2007 בנובמבר 118 שנים אז תשתמש ב-strtol במקום ב-scanf.עוד אופציה זה לקלוט ב-scanf עם שתי שדות:int x;char really_big_line[1000];int num_read = scanf( "%d%s", &x, really_big_line );if (( num_read == 0 ) || (strcmp(really_big_line, "") != 0) ) return -1; // error// do whatever with num_readשים לב שהפתרון הזה הוא hack, הוא לא רובוסטי, וסובל מבעייה של buffer overrun.
פורסם 2007 בנובמבר 118 שנים מחבר אבל strtol מקבלת צאר, לא longאני קולט לlong (לשנות לצאר זה יהיה סיפור מהפטרה)
פורסם 2007 בנובמבר 118 שנים החיים קשים. הספריה הסטנדרטית נותנת לך סט של פתרונות. הפתרון הנכון במקרה זה הוא לקלוט למחרוזת ולעבוד עם strtol. אם אתה מתעקש לעבוד אחרת, אל תתפלא אם זה לא מצליח.בתור שירות לציבור: http://www.rt.com/man/strtol.3.html
פורסם 2007 בנובמבר 118 שנים אם אתה קולט long ב-scanf אז זה פשוט יתעלם מכל תו שאינו מספרובסופו של דבר ב-long יהיה לך רק מספראם אתה רוצה לבדוק תקינות אתה צריך לקלוט לתוך char*, לבדוק על זה תקינות ולהמיר ל-long
פורסם 2007 בנובמבר 118 שנים החיים קשים. הספריה הסטנדרטית נותנת לך סט של פתרונות. הפתרון הנכון במקרה זה הוא לקלוט למחרוזת ולעבוד עם strtol. אם אתה מתעקש לעבוד אחרת, אל תתפלא אם זה לא מצליח. בתור שירות לציבור: http://www.rt.com/man/strtol.3.html תודה על השרות - הציבור
פורסם 2007 בנובמבר 118 שנים אז אם אני קולט לa 12df343a יהיה שווה ל12343 ?לא, הוא אמור להעצר בתו שאינו מספר (a יהיה 12).
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.