ABA


"C - איך לחזור אחורה עם הסמן בקובץ טקסט?"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #15900 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 15900
D-KinG
חבר מתאריך 8.6.02
3490 הודעות
   14:15   18.05.10   
אל הפורום  
  C - איך לחזור אחורה עם הסמן בקובץ טקסט?  
 
   נניח ואני עובד עם קובץ טקסט, קורא ממנו עם fgetc ומתישהו רוצה לחזור אחורה מספר מסוים של בתים... האם זה אפשרי?
אני רואה שעם fseek ו-ftell אני לא מצליח (אשמח להסבר למה..)


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  ממה שאני זוכר.. VeNom  18.05.10 16:15 1
     נכון האמת שזה מה שעשיתי בסוף D-KinG 18.05.10 16:37 2
         סביר שבגלל שה-offset לא צפוי. לפעמים המערכת יכולה ldan192  18.05.10 17:25 3

       
VeNom  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 7.6.02
7922 הודעות, 1 פידבק
   16:15   18.05.10   
אל הפורום  
  1. ממה שאני זוכר..  
בתגובה להודעה מספר 0
 
   זה היה מזמן אבל בטח יש כמה דרכים..

fseek ( pFile , -10 , SEEK_CURR );
רק שאני לא זוכר אם אפשר לשים משהו שלילי..
אפשר גם לספור את כמות הבתים מתחילת הקובץ..אם אני זוכר
ftell
מחזיר לך את כמות הבתים מתחילת הקובץ..
ואז אתה עושה משהו כזה
long offset = ftell(file);
offset -= numOfBytesToGoBack;
fseek ( pFile , offset , SEEK_SET );

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
D-KinG
חבר מתאריך 8.6.02
3490 הודעות
   16:37   18.05.10   
אל הפורום  
  2. נכון האמת שזה מה שעשיתי בסוף  
בתגובה להודעה מספר 1
 
   אבל ממה שאני קורא באינטרנט לא כדאי להשתמש בזה בקבצי טקטס אלא רק בקבצים בינארים... יש לך מושג למה?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   17:25   18.05.10   
אל הפורום  
  3. סביר שבגלל שה-offset לא צפוי. לפעמים המערכת יכולה  
בתגובה להודעה מספר 2
 
לחתוך סימנים מיוחדים (r\ מול n\ וכו').
אבל אני דיי בטוח שאם אתה בעצמך סופר כמה התקדמת באופסט, אין לך מה לדאוג.
הכוונה היא רק למבט לעתיד (למשל, אתה יודע שהמילה היא abba ואתה מסתכל על offset + 4).


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net