שאלה למקצוענים ב-C

שאלה למקצוענים ב-C

אז ככה: כתבתי פונקציה שמקבלת קובץ ככקלט, ועושה איתו משהו. מה שאני צריכה זה לשלוח לפונקציה הזו את כל הקבצים בתיקייה מסויימת. איך אני עושה את זה? אני לא יודעת מראש מה יהיו שמות הקבצים בתיקייה. האם ידועה למישהו פונקציה שמחזירה את רשימת כל הקבצים בתיקייה? (במערך או באופן אחר...) כיצד בכלל מטפלים בתיקיות ב-C? ב-MSDN מצאתי רק את הפונקציות chdir, mkdir, rmdir שמשנות את התיקייה הנוכחית, או מוחקות תיקייה או יוצרות תיקייה חדשה. אך לא מצאתי משהו שמאפשר גישה לתיקייה קיימת וסריקת התוכן שלה. אני עובדת תחת VC++ (בווינדוס כמובן) ורצוי לי מאוד שזה יהיה ב-C, כיוון ששאר התוכנית כתובה ב-C, אבל אם אי-אפשר אז גם פתרון ב-CPP יתקבל בברכה. [עוד רעיון: אולי יש איזו דרך לקבל את רשימת הקבצים בתיקייה לתוך ה- argv בשורת ההפעלה של התוכנית?]
 

Ck3

New member
אני לא יודע אם זה קיים גם בחלונות,

אבל בדוס היה אפשר להשתמש ב findfirst ו findnext.. אני חושב שזה אפילו היה בקובץ dos.h, אבל אולי יש לפונקציות האלו תחליף בעל אותו שם גם לחלונות.. worth a shot..
 

DCoder

New member
דווקא לא שאלה ב-C

C וגם ++C אינן מספקות פתרונות לבעייתך, משום שלא לכל הפלטפורמות/מערכות קבצים ישנן בכלל תיקיות. לכן עלייך להשתמש בפונקציות אותן מספקת מערכת ההפעלה עצמה. בהנחה שאת משתמשת בחלונות תחת ++VC, תצטרכי להשתמש בפונקציותFindFirstFile ו-FindNextFile. צירפתי לינק לתיעוד של מיקרוסופט לפונקציות אלו ועוד. בהצלחה.
 
למעלה