ABA


"צריך עזרה בקלט/פלט מקובץ ב-C++"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #12637 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 12637
Non Stop

   02:13   31.10.05   
אל הפורום  
  צריך עזרה בקלט/פלט מקובץ ב-C++  
 
   ערכתי לאחרונה בתאריך 31.10.05 בשעה 02:14 בברכה, Non Stop
 
משהו ממש פשוט...אין לי מושג איך עושים בPASCAL זה לא מסובך עושים את זה אפילו דרך DOS קיצר בלי הרבה בילבולים

יש לי תוכנית ואני צריך שהיא תקרא מקובץ...איך אני עושה את זה?
ואיך אני בודק סיום קובץ )EOF(

תודה!


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


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  while (!feof(file)) nesher  31.10.05 07:51 1
     תודה אני אחפש Non Stop 31.10.05 11:37 2
     כנס דקה אחי Non Stop 31.10.05 11:59 3
     איכסה... bizho 31.10.05 14:40 4
         חחח זה יותר מגעיל ממה שאני רשמתי... Non Stop 31.10.05 15:07 5
             אובייקטים? בחור, מה נסגר? bizho 31.10.05 15:34 6
                 ח מפריע לי בעין כל השורות האלה Non Stop 31.10.05 18:11 7
                     מכתב DOWNTOWN 31.10.05 18:46 8
                         תודה רבה !! Non Stop 01.11.05 12:22 11
                         תיקון קטן DOWNTOWN 01.11.05 14:09 12
                             כן אחי ראיתי בדוגמא Non Stop 01.11.05 16:49 13
                     אם תשים לב, בדוגמא שלי bizho 31.10.05 20:17 9
                         כן אחי שמתי לב... Non Stop 01.11.05 12:21 10

       
nesher 

   07:51   31.10.05   
אל הפורום  
  1. while (!feof(file))  
בתגובה להודעה מספר 0
 
   תחפש ב-MSDN את הדברים הבאים
FILE
fread


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

   11:37   31.10.05   
אל הפורום  
  2. תודה אני אחפש  
בתגובה להודעה מספר 1
 
  


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

   11:59   31.10.05   
אל הפורום  
  3. כנס דקה אחי  
בתגובה להודעה מספר 1
 
   אחרי שאני רושם את ההצהרבה
FILE *stream;
if( (stream = fopen( "in.dat", "r" )) == NULL )
exit( 1 );
ובלולאה אני רושם כל עוד
!feof( stream )

אני ממשיך לקרוא קלט כרגיל ...עם
CIN
הכוונה?....
או שזה אם אלמנט אחר?...

קשה עם הקבצים האלה ..
:\

חח תודה אחי


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

   14:40   31.10.05   
אל הפורום  
  4. איכסה...  
בתגובה להודעה מספר 1
 
   ב++C הדרך המומלצת להתעסק עם קבצים היא ע"י streams.
לדוגמא:

ifstream fileObj("c:\\yo.txt", ios::in);
string strLine = "";
if (fileObj.is_open())
while (getline(fileObj, strLine))
cout << strLine << endl;

include לfstream ולstring, כמובן.


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

   15:07   31.10.05   
אל הפורום  
  5. חחח זה יותר מגעיל ממה שאני רשמתי...  
בתגובה להודעה מספר 4
 
   חח כמה אובייקטים..אין לי כח עזבתי את זה עשיתי בלי קבצים לבנתיים..אני ילמד את זה בהמשך

תודה אחי


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

   15:34   31.10.05   
אל הפורום  
  6. אובייקטים? בחור, מה נסגר?  
בתגובה להודעה מספר 5
 
   יש אובייקט אחד של קובץ ואובייקט של מחרוזת.


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

   18:11   31.10.05   
אל הפורום  
  7. ח מפריע לי בעין כל השורות האלה  
בתגובה להודעה מספר 6
 
   אני רגיל בפסקל שיש שורה אחת....

תגיד רגע אחרי שאני פותח את זה ..אני מתייחס אל זה כאילו זה קלט רגיל (מהמקלדת)...יענו עם CIN ?

ועוד משהו אם כבר אולי תעזור לי אני משתגע פה..

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


int main()
{
char string;
int ke;
cout << "Please enter a key: ";
cin >> ke;
cout << "Please enter a long string: ";
cin.getline ( string, 80, '\n' );
cout << "Your long string was: " << string << endl;
cin.get();
}

משום מה זה מדלג לי על השורה עם הcin.getline...אבל אם אני רושם..


int main()
{
char string;
cout << "Please enter a long string: ";
cin.getline ( string, 80, '\n' );
cout << "Your long string was: " << string << endl;
cin.get();
}


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

אני משתמש ב
DEV-cpp
אם זה משנה

תודה אחי


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DOWNTOWN
חבר מתאריך 28.5.02
5388 הודעות
   18:46   31.10.05   
אל הפורום  
  8. מכתב  
בתגובה להודעה מספר 7
 
   אתה צריך להוסיף

<< endl;

כי זה מנקה את הבאפר.
לדוגמא:

int main()
{
char string;
int ke;
cout << "Please enter a key: " << endl;
cin >> ke;
cout << "Please enter a long string: " << endl;
cin.getline ( string, 80, '\n' );
cout << "Your long string was: " << string << endl;
cin.get();
}

ואם אתה רוצה שזה לא יירד שורה תרשום

<< flush;

לדוגמא

int main()
{
char string;
int ke;
cout << "Please enter a key: " << flush;
cin >> ke;
cout << "Please enter a long string: ";<< flush;
cin.getline ( string, 80, '\n' );
cout << "Your long string was: " << string << endl;
cin.get();
}

ואם גם זה לא פועל
תרשום


cin.ignore

לפי ה

cin.getline();

לדוגמא:

int main()
{
char string;
int ke;
cout << "Please enter a key: " << endl;
cin >> ke;
cout << "Please enter a long string: "<< endl;
cin.ignore();
cin.getline ( string, 80, '\n' );
cout << "Your long string was: " << string << endl;
cin.get();
}

ואם גם זה לא פועל, תנסה פשוט לרשום את ה

cin.getline();

פעמיים.
לדוגמא:

int main()
{
char string;
int ke;
cout << "Please enter a key: " << endl;
cin >> ke;
cout << "Please enter a long string: "<< endl;
cin.getline ( string, 80, '\n' );
cin.getline ( string, 80, '\n' );
cout << "Your long string was: " << string << endl;
cin.get();
}

כל מה שאמרתי עכשיו נכון לכל פונקציה שבתוך cin.
מקווה שעזרתי.

s22holyshits33

אני מלך


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

   12:22   01.11.05   
אל הפורום  
  11. תודה רבה !!  
בתגובה להודעה מספר 8
 
   אחי פשוט מלך תודה על ההשקעה.... יצאת גדול


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DOWNTOWN
חבר מתאריך 28.5.02
5388 הודעות
   14:09   01.11.05   
אל הפורום  
  12. תיקון קטן  
בתגובה להודעה מספר 8
 
   לא רושמים

cin.ignore;

אלא

cin.ignore();

כיזה הרי פונקציה.
סליחה על הטעות

s22holyshits33

אני מלך


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

   16:49   01.11.05   
אל הפורום  
  13. כן אחי ראיתי בדוגמא  
בתגובה להודעה מספר 12
 
   השתמשתי בזה וזה עבד לי.....משום מה הזה שמנקה את הבאפר לא עובד...וגם ה
endl לא עובד ...הזה עם השתי שורות זהות עובד אבל זה לא קוד יפה, זאת לא צורת עבודה....

חח תודה בכל אופן אחי..


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

   20:17   31.10.05   
אל הפורום  
  9. אם תשים לב, בדוגמא שלי  
בתגובה להודעה מספר 7
 
   לא כתוב cin.getline אלא getline. אלה שתי פונקציות נפרדות.


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

   12:21   01.11.05   
אל הפורום  
  10. כן אחי שמתי לב...  
בתגובה להודעה מספר 9
 
   תודה רבה!


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

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

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



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