עבור לתוכן

עזרה עם קבצי TXT בC

Featured Replies

פורסם

נתון לי קובץ TXT עם שורות של נתונים

1)האם יש דרך יותר יעילה בעזרת FSEEK לרדת לשורה מאשר לעשות כל הזמן FSCANF?

2)האם יש דרך אחרת למחוק שורה כתובה או שחייבים להשתמש בקובץ עזר?

פורסם

1. לא. "שורות" בקבצים זה לא דבר שקיים באמת, אלא זו סתם חלוקה על פי תו מסוים ('n\') שאין בו שום דבר מיוחד שמבדיל אותו משאר התווים. בכל מקרה אפשר לדלג על שורות יותר בקלות עם לולאה של fgetc.

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

נערך על-ידי שניצל

פורסם
  • מחבר

אחלה, תודה

ארכיון

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

דיונים חדשים