קבצים - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

קבצים


נעמה.

Recommended Posts

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




#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();
}

קישור לתוכן
שתף באתרים אחרים

אם את רוצה לעבוד ככה, את יכולה לקרוא שורה מהקובץ. לשמור את הגודל שלה + של השורות הקודמות באיזה משתנה ואז בפעם הבאה לעשות seek למיקום של המונה הזה + כמה בתים נוספים (נראה לי 2)

קישור לתוכן
שתף באתרים אחרים

אם המחרוזת מוגדרת כ char * אז את פשוט צריכה להעביר אותה כמו שהיא fl.open(str) אם היא מוגדרת כ string יכול להיות שצריך לעשות המרה ל char * לפני.

אם את רוצה להוסיף לסוף שלו .txt תשתמשתי בפונקציה strcat.

את לומדת את זה בבית ספר ?

קישור לתוכן
שתף באתרים אחרים

ארכיון

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

×
  • צור חדש...