ערכתי לאחרונה בתאריך 08.11.03 בשעה 17:51 בברכה, dryice
יש המון כלים שמנסים להשוות בין קבצים ויש להם כל מיני אלגוריתמים
בשביל לזהות איפה באמת ההבדל. כך שאם תתווסף שורה אז השני יהיה
הוספת שורה ולא שמאותו רגע והלאה כל הקובץ שונה כי השורות
לא מתאימות אחת לאחת, ועוד כל מיני הבדלים.כמה מילים לגבי השאלות האחרות:
א. אתה פותח קובץ מקור לקריאה ושני קבצים אחרים לכתיבה
בלולאה אתה קורא בלוק נתונים מהמקור וכותב את הבלוק לשני הקבצים
זה לא ממש במקביל. בשביל באמת למקבל צריך multi-threading או
Non Blocking IO אבל זה כנראה ממש מעבר למה שאתה לומד.
ב. אתה פותח קובץ לAppend וקובץ שני לקריאה, בלולאה קורא בלוק
מפה וכותב לשם.
ד.פה יש כל מיני אלגוריתמים יעילים לבצע משימה זאת, אפשר להסביר
לך אחד מהם, אבל אני דיי בטוח שלC יש אחד ממומש כבר(strstr)
אפשר לנצל אותו, אבל משום שהקובץ עשוי להיות גדול ואנחנו עובדים
בבלוקים מוגבלים, אתה צריך לקרוא את הבלוקים עם חפיפה בגודל
תת-המחרוזת שמחפשים. כאשר תת המחרוזת קצרה זה יעיל באותה מידה
של הרצת אלגוריתם יעיל ישירות והרבה יותר פשוט למימוש.
DRYICE