עבור לתוכן

שאלה בעבודה בקבצים ב c

Featured Replies

פורסם

אז ככה ..... קודם כל רציתי לציין שאני דיי מתחיל בשפת c (יש רקע בשפות אחרות) ככה שתשתדלו בהסבר לו לסבך במושגים ..

אוקי אז ככה אני רוצה לבנות תוכנה שבסך הכול פותחת לי קובץ שכבר קיים ..אני יתן דוגמא: אני רוצה לפתוח את הקובץ yariv.txt

(הכוונה בלפתח זה לא ליצור אותו אלה שהוא פיזית יפתח לי במסך...) תודה רבה לכולם ...

אהה ועוד משהו(אם הוא לא בתקיה שבו רצה התוכנית איך אני מנווט אותו , פקודות דוס פשוטות?

פורסם

אתה רוצה שהוא ירשום לך מה יש בקובץ?

אתה צריך להכיל את הספרייה stdio.h.

מבנה הנתונים של הקובץ הוא FILE. כדי להשתמש בו אתה צריך ליצור מצביע לסוג נתונים זה.

אתה פותח קובץ ע"י הפונ: fopen.

למשל, לפתוח קובץ לקריאה:


FILE *fp;
fp=fopen("c:\\filename.txt", "rt");

שים לב שיש שם \\ מכיוון שבC, מה לעשות יש תווייום מיוחדים(CHAR) שיש להם תפקיד מסויים ו- \ הוא אחד מהם.

"RT" מציין שזה קובץ לקריאה בלבד מסוג טקסט. אם אתה רוצה לפתוח בתור קובץ בינארי, אתה צריך לשים שם "RB".

אתה לטקסט כותב ע"י :


fscanf(fp, "text like in scanf", ...(arguments);

תחפש ב- MSDN, יש שם תיעוד וגדוגמאות לכל מה שאתה צריך.

פורסם
  • מחבר

את זה הבנתי... אבל זה לא מה שהתכוונתי... מה שאתה תיארת זה איך יוצרים קובץ מסויים... ומה שאני מתכוון זה שנניח ואני רוצה להריץ איזה תוכנית ובזמן ההרצה התוכנית תפתח איזשהו חלון... (נניח קובץ טקסט)

נ.ב

הקובץ כבר קיים במערכת... (הבעיה היא רק לגשת אליו ולפתח אותו) יותר ברור עכשיו?

פורסם

אם הבנתי למה אתה מתכוון, אתה צריך פונ כמוSYSTEM. אני לא בטוח שהיא לC.

מה שאני יודע זה שללינוקס יש פונ execl וexecv או משהו כזה(מזמן לא נגעתי בזה) ו- fork שמפצלת לך את התהליך.

פורסם

בסביבת דוס אתה לא יכול להריץ שתי תוכניות בו-זמנית (אני לא יודע אם זה לחלוטין לא אפשרי אבל זה לכל הפחות מאוד מורכב)

בסביבת windows אתה פשוט קורא ל- ShellExecute עם שם הקובץ.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים