נעמה. פורסם 2007 במרץ 14 Share פורסם 2007 במרץ 14 יש לי את התכנית הבאה(צריכה להדפיס שורות מקובץ בתחום מסוים): משום מה זה מדפיס לי כל פעם אותה שורה. מה הטעות?#include <iostream>#include <conio.h>#include <fstream>using namespace std;char* f(int choice, int line){ ifstream file; if(choice==1) { file.open("1.txt"); } else { file.open("2.txt"); } char *s= new char[256]; int moneLine =0; if(!file.eof()) { file.seekg(line); file.getline(s,256); } file.close(); return s;}void main(){ int choice, begin, end, line; char*str = new char[256]; cin>>choice; cin>>begin; cin>>end; line = begin; while(line<=end) { str = f(choice,line); line++; puts(str); } getche();} קישור לתוכן שתף באתרים אחרים More sharing options...
עמיר פורסם 2007 במרץ 14 Share פורסם 2007 במרץ 14 אני מניח כי seekg מקבל את המיקום באותיות ולא בשורות...וגם יש לך דליפה רצינית, את עושה new כל הזמן, אבל לא עושה delete אחרי ההדפסה. קישור לתוכן שתף באתרים אחרים More sharing options...
נעמה. פורסם 2007 במרץ 14 מחבר Share פורסם 2007 במרץ 14 אז מה אני צריכה לרשום בפונקציה של SEEKG?? קישור לתוכן שתף באתרים אחרים More sharing options...
עמיר פורסם 2007 במרץ 14 Share פורסם 2007 במרץ 14 אם את רוצה לעבוד ככה, את יכולה לקרוא שורה מהקובץ. לשמור את הגודל שלה + של השורות הקודמות באיזה משתנה ואז בפעם הבאה לעשות seek למיקום של המונה הזה + כמה בתים נוספים (נראה לי 2) קישור לתוכן שתף באתרים אחרים More sharing options...
נעמה. פורסם 2007 במרץ 14 מחבר Share פורסם 2007 במרץ 14 מה האופציה האחרת???<בטח היא פשוטה יותר! אם אני רוצה להגיע לשורה 20 אני צריכה לספור 19 שורות? לא נראה לי הגיוני, אין קפיצה ישירה יותר?> קישור לתוכן שתף באתרים אחרים More sharing options...
עמיר פורסם 2007 במרץ 14 Share פורסם 2007 במרץ 14 שיטה נורמלית היא לא לסגור את הקובץ כל פעם ולפתוח אותו מחדש...פשוט קוראים שורה.. ואז עוד שורה.. וכו'.. קישור לתוכן שתף באתרים אחרים More sharing options...
Ghosthunter פורסם 2007 במרץ 14 Share פורסם 2007 במרץ 14 מכיוון שאורך שורה הוא לא קבוע, ותווי ירידת השורה ממוקמים בצורה רנדומאלית, את חייבת לעבור שורה שורה. קישור לתוכן שתף באתרים אחרים More sharing options...
Zelig פורסם 2007 במרץ 14 Share פורסם 2007 במרץ 14 נדמה לי שעל קובץ פתוח במוד טקסט, seekg לא אמין. קישור לתוכן שתף באתרים אחרים More sharing options...
נעמה. פורסם 2007 במרץ 14 מחבר Share פורסם 2007 במרץ 14 אז איך סופרת את מספר התווים בשורה??? קישור לתוכן שתף באתרים אחרים More sharing options...
עמיר פורסם 2007 במרץ 14 Share פורסם 2007 במרץ 14 strlen ?צריך להוסיף גם איזה בית של שורה חדשה שנראה לי הוא מוחק.גם את חשאית לגבי מסגרת הקורסים שאת עושה, או שאת יכולה להגיד לשם מה זה ? קישור לתוכן שתף באתרים אחרים More sharing options...
Ghosthunter פורסם 2007 במרץ 14 Share פורסם 2007 במרץ 14 תקראי את זה:http://www.cplusplus.com/reference/iostream/istream/getline.html קישור לתוכן שתף באתרים אחרים More sharing options...
נעמה. פורסם 2007 במרץ 15 מחבר Share פורסם 2007 במרץ 15 איך פותחים קובץ חדש לכתיבה??? OPEN? מה הפונקציה הזו מקבלת?אם המשתמש צריך לבחור את שם הקובץ-> איך עושים את זה? קישור לתוכן שתף באתרים אחרים More sharing options...
עמיר פורסם 2007 במרץ 15 Share פורסם 2007 במרץ 15 תקראי את http://www.cplusplus.com/doc/tutorial/files.htmlהפונקציה מקבלת את שם הקובץ...באחד מהדיונים הקודמים שלך כתבתי קוד יפה שמקבל את שם הקובץ כפרמטר. קישור לתוכן שתף באתרים אחרים More sharing options...
נעמה. פורסם 2007 במרץ 15 מחבר Share פורסם 2007 במרץ 15 הסתכלתי בקובץ הזה, אבל- מה אני עושה אם המשתמש צריך לבחור את שם הקובץ (נגיד לתוך המחרוזת STR אני לא יכולה לרשום את זה fl.open("str.txt")) קישור לתוכן שתף באתרים אחרים More sharing options...
עמיר פורסם 2007 במרץ 15 Share פורסם 2007 במרץ 15 אם המחרוזת מוגדרת כ char * אז את פשוט צריכה להעביר אותה כמו שהיא fl.open(str) אם היא מוגדרת כ string יכול להיות שצריך לעשות המרה ל char * לפני.אם את רוצה להוסיף לסוף שלו .txt תשתמשתי בפונקציה strcat.את לומדת את זה בבית ספר ? קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.