פורסם 2007 בפברואר 1418 שנים שלום אני צריך לממש את הדבר הבא:אם הקובץ קיים - אז לכתוב לקובץ, אחרת להוציא הודעה ש..הקובץ לא קיים.איך ממשים זאת?כלומר לפני שאני מתחיל לכתוב לקובץ אז איך אני בודק בכלל אם הוא נמצא שם?
פורסם 2007 בפברואר 1418 שנים בבקשה:FILE *fp = fopen("file","r");if( fp ) { // exists fclose(fp);} else { // doesnt exist}הקוד הזה לא מושלם, כי הוא רק בודק אם אפשר לפתוח את הקובץ לקריאה (יכול להיות שהוא קיים אבל לא נגיש).בשביל קוד יותר טוב אתה צריך לקרוא לפונקציות מערכת, וזה כבר תלוי פלטפורמה.
פורסם 2007 בפברואר 1418 שנים הקוד הזה רק בודק אם אתה יכול לפתוח את הקובץ לקריאה.יכול להיות שהקובץ כן קיים, אבל אי אפשר לפתוח אותו לקריאה (נניח, אם תוכנה אחרת משתמשת בו).ב-windows קיימות פונקציות ספרייה מתקדמות לטיפול בקבצים.ספציפית, הפונקציה שאני מתכוון אליה היא FindFirstFile, שאתה נותן לה שם של קובץ או ספריה (עם wildcards) והיא מחזירה לך את הקובץ הראשון שהיא מוצאת. אם היא לא מוצאת קובץ (כי הוא לא קיים), היא תחזיר לך שגיאה.הבעיה היא כמובן שהפונקציה הזו עובדת רק ב-windows ואתה צריך לקמפל את התכנית שלך בהתאם.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.