koby058 פורסם 2009 במאי 14 Share פורסם 2009 במאי 14 איך אפשר להשיג או ליצור קובץ כזה? קישור לתוכן שתף באתרים אחרים More sharing options...
yossi314 פורסם 2009 במאי 14 Share פורסם 2009 במאי 14 אתה מתעסק עם איזשהי שפת תכנות ? קישור לתוכן שתף באתרים אחרים More sharing options...
liav25 פורסם 2009 במאי 14 Share פורסם 2009 במאי 14 איך אפשר להשיג או ליצור קובץ כזה?אם יש לך eclipse אני יכול לכתוב לך קובץ ג'אווה ושתריץ אותו ואחרי זה תעשה COPY PASTE לכתבן או משהו קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2009 במאי 14 Share פורסם 2009 במאי 14 הכי פשוט, start > run > cmd.שם תרשום:echo offfor /l %p IN (0,1,1000000000) Do echo %p >> bla.txt(השורה הראשונה לא קריטית, היא סתם כדי שזה לא ידפיס לך את הכל על המסך)אבל סביר להניח שזה ייקח הרבה הרבה זמן (והגודל של הקובץ יהיה יותר מ-10 ג'יגה).דרכים יותר יעילות יהיו לכתוב תוכנה בשפת תכנות כלשהי שתעשה את זה (גם אז זה ייקח הרבה זמן, אבל משמעותית פחות). קישור לתוכן שתף באתרים אחרים More sharing options...
Daglas פורסם 2009 במאי 14 Share פורסם 2009 במאי 14 קוד קצר ב C# שעושה את העבודה: StreamWriter S = new StreamWriter(@"C:\O.txt"); for (Int64 i = 1; i < 1000000000+1; i++) { S.WriteLine(i); S.Flush(); S.BaseStream.Seek(0,SeekOrigin.End); }אולי לא הכי יעיל בעולם, אפשר לעשות Flush כל מספר פעמים ולא כל פעם, אבל עובד.עריכה: אני רואה שהציעו שיטות קצת יותר משוכללות משלי, יפה יפה. נחמד ללמוד קצת על פקודות בקבצי batch מדי פעם. קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2009 במאי 14 Share פורסם 2009 במאי 14 כמו שציינתי, ב-batch זה מאוד לא יעיל (ניסיתי להריץ על 10000, לקח איזה חצי דקה.... אז אני מניח שאם רוצים פי 100000 מזה זה ייקח איזה חודש).חוץ מזה, כמו שכבר אמרתי - הקובץ הסופי יהיה ענק, יותר מ-10 ג'יגה.זה שמעליי - למה לעשות flush בכלל? ולמה לעשות seek? קישור לתוכן שתף באתרים אחרים More sharing options...
koby058 פורסם 2009 במאי 14 מחבר Share פורסם 2009 במאי 14 תודה רבה עזרתם לי מאוד קישור לתוכן שתף באתרים אחרים More sharing options...
Daglas פורסם 2009 במאי 14 Share פורסם 2009 במאי 14 אם לא עושים flush, לא מתבצעת כתיבה לקובץ. לגבי ה Seek , אני לא בטוח אם זה נחוץ כל איטרציה, אבל הייתה לי בעיה עם זה פעם, ככה שלא רציתי להסתבך שוב. קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2009 במאי 14 Share פורסם 2009 במאי 14 א. לרוב אחרי WriteLine יבוצע flush אוטומטית (אני זוכר שזה ככה ב-C, יכול להיות שב-#C זה אחרת).ב. מספיק לעשות flush פעם אחת בלבד בסוף התוכנית (אלא אם אתה מצפה שהתכנית תעוף מתישהו, מסיבה כלשהי), וגם זה לא נחוץ אם סוגרים את הקובץ כראוי (עושים dispose, או יותר טוב - עובדים עם using).ג. כמו שאמרתי, ה-seek לא נחוץ בכלל. כל עוד אתה לא נוגע במצביע, הוא תמיד ימשיך לכתוב למקום ממנו המשכת לכתוב (הבעיה יכולה לקרות אם אתה כותב במספר ת'רדים במקביל, מה שאתה לא עושה כאן). קישור לתוכן שתף באתרים אחרים More sharing options...
tamir950 פורסם 2009 במאי 14 Share פורסם 2009 במאי 14 פשוט מאוד בהנחה שאתה יודע שפת תיכנות כלשהי אפילו רק את הבסיס, פשוט תעשה לולאה(for מתאימה למקרה זה), תאתחל משתנה ל-0 וכל פעם שהתוכנית תבדוק אם המשתנה קטן או שווה למספר שאתה רוצה להגיע אליו, ואם זה קטן או שווה תקדם את הערך ב1(++) והפקודה הבאה תדפיס את הערך של המשתנה עד אשר תגיע למספר המבוקש בהצלחה קישור לתוכן שתף באתרים אחרים More sharing options...
assaf181 פורסם 2009 במאי 15 Share פורסם 2009 במאי 15 מה זה בכלל flush? קישור לתוכן שתף באתרים אחרים More sharing options...
Daglas פורסם 2009 במאי 15 Share פורסם 2009 במאי 15 אני פחדתי ש Flush בסוף התוכנית, אחרי 1000000000 איטרציות, פשוט יזרוק Exception כי לא יהיה לו מספיק מקום בזיכרון. קישור לתוכן שתף באתרים אחרים More sharing options...
multicore פורסם 2009 במאי 15 Share פורסם 2009 במאי 15 הדיון מועבר לפורום שפות תכנות. קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2009 במאי 15 Share פורסם 2009 במאי 15 מה זה בכלל flush?כתיבה (לקובץ או למסך) אף פעם לא מתבצעת מיד. כשאתה מדפיס משהו, אז התוכנה למעשה שומרת את מה שהדפסת בצד (במשהו שנקרא buffer), ולא באמת כותבת אותו לקובץ. כל כמה זמן, או אחרי פקודות מסויימות, מה שיושב בתוך ה-buffer באמת נכתב (למסך או לקובץ). הסיבה לכך היא שכתיבה לקובץ ולמסך הן פעולות מאוד מאוד איטיות (יחסית), ולכן עדיף לאגור את הפלט בצד, ואחת לכמה זמן לכתוב לקובץ הרבה פלט במכה.החסרון הוא שאם התוכנה מתרסקת, אז יכול להיות שיש נתונים שחשבת שנשמרו בקובץ, אבל התוכנה לא הספיקה לעשות את זה.הפעולה flush מכריחה את התוכנה לכתוב את מה שב-buffer לתוך הקובץ. קישור לתוכן שתף באתרים אחרים More sharing options...
matteo פורסם 2009 במאי 15 Share פורסם 2009 במאי 15 חחחחחחחחח מה הבחור צריך קובץ כזהמה אתה מכין רשימה לברוט פורס ?חחחחח אנשים ניהיים יותר ויותר משועממים קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.