Προβλημα με τη διαχειριση αρχειων στη c++

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: Super-Moderators, WebDev Moderators

Απάντηση
pigouinos
Δημοσιεύσεις: 2
Εγγραφή: 21 Μάιος 2008 20:19

Προβλημα με τη διαχειριση αρχειων στη c++

Δημοσίευση από pigouinos » 22 Μάιος 2008 17:04

ΓΕΙΑ ΣΑΣ,ΣΑΣ ΣΤΕΛΝΟΥΜΕ ΕΝΑ ΚΟΜΜΑΤΙ ΤΗΣ ΕΡΓΑΣΙΑΣ ΜΑΣ ΓΙΑΤΙ ΑΝΤΙΜΕΤΩΠΙΖΟΥΜΕ
ΠΡΟΒΛΗΜΑ ΣΤΗΝ ΑΝΑΓΝΩΣΗ ΤΟΥ text.txt.
ΕΝΩ ΔΗΛΩΝΟΥΜΕ ΤΗ ΒΙΒΛΙΟΘΗΚΗ <fstream>
O compiler ΜΑΣ ΒΓΑΖΕΙ 8: error: ‘fstream’ does not name a type.
ΔΟΥΛΕΥΟΥΜΕ ΣΕ LINUX KAI ΧΡΗΣΙΜΟΠΟΙΟΥΜΕ ΤΗ ΒΙΒΛΙΟΘΗΚΗ ΤΗΣ ΟΜΝΕΤ++

#include <stdio.h>
#include <string.h>
#include <omnetpp.h>
#include <iostream>
#include <fstream>


fstream myfile("text.txt", fstream::in);

class Client : public cSimpleModule
{
private:
double numSent;
double numReceived;
double timeout; // timeout
Mymessage *timeoutEvent; // holds pointer to the timeout self-message
double *array;


protected:
int numofrequests();
//virtual Message *generateMessage();
Mymessage *msg;

public:
Client();
~Client();
void initialize();
void handleMessage(Mymessage *msg);
void finish();

void openfile();
void convertfiletoarray();
int getrequest();//returns url
};

//Define_Module(Client);



void Client::openfile()
{
myfile.open("text.txt",ios::in);
if(!myfile)
{
ev<<"ΤΟ ΑΡΧΕΙΟ "<<myfile<<" ΔΕΝ ΥΠΑΡΧΕΙ!!"<<endl;

}
if(myfile.bad!=0)
{
ev<<"ΛΑΘΟΣ ΑΝΑΓΝΩΣΗΣ ΕΓΓΡΑΦΗΣ ΣΤΟ "<<myfile<<" !!!"<<endl;

}
myfile.seekg(0,ios::beg);
}


ΕΥΧΑΡΙΣΤΟΥΜΕ!!!!

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Προβλημα με τη διαχειριση αρχειων στη c++

Δημοσίευση από dva_dev » 23 Μάιος 2008 01:00

Μετά τα includes βάλε "using namespace std;" για να γλυτώσεις τα πολλά "std::" αλλιώς όπου χρειάζεται θα πρέπει να δηλώνεις το namespace με το χέρι.

Δεν είμαι σε linux και δεν έχω τη συγκεκριμένη βιβλιοθήκη που χρησιμοποιείς, αλλά φαντάζομαι ότι το "Mymessage" και το "ev" κάπου πρέπει να είναι δηλωμένα.

pigouinos
Δημοσιεύσεις: 2
Εγγραφή: 21 Μάιος 2008 20:19

Προβλημα με τη διαχειριση αρχειων στη c++

Δημοσίευση από pigouinos » 23 Μάιος 2008 14:36

ΠΡΩΤΑ ΑΠΟ ΟΛΑ,ΕΝΑ ΜΕΓΑΛΟ ΕΥΧΑΡΙΣΤΩ ΓΙΑ ΤΗ ΒΟΗΘΕΙΑ ΣΑΣ!!!

ΣΑΣ ΣΤΕΛΝΟΥΜΕ ΕΝΑ ΚΟΜΜΑΤΙ ΤΟΥ ΚΩΔΙΚΑ ΜΑΣ ΓΙΑ ΝΑ ΜΑΣ ΒΟΗΘΗΣΕΤΕ ΑΝ ΜΠΟΡΕΙΤΕ.
Ο ΚΩΔΙΚΑΣ ΤΗΣ ΜΕΤΑΤΡΟΠΗΣ ΤΟΥ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΔΙΑΣΤΑΤΟ ΠΙΝΑΚΑ ΜΑΣ ΒΓΑΖΕΙ ΠΡΟΒΛΗΜΑ!
ΜΙΑ ΔΙΟΡΘΩΣΗ ΣΤΗ ΣΥΝΑΡΤΗΣΗ convertfiletoarray2() ΘΑ ΜΑΣ ΗΤΑΝ ΠΟΛΥΤΙΜΗ!


void convertfiletoarray2()
{

openfile2(); //anoigma arxeiou
double n;
n=numofrequests2(); //vriskw twn ari8mo twn grammwn
double k=12.0; //sizeof(int)+sizeof(double);
double line[k];
for(double i=0.0;i<n;i++)
{
int j=0;
myfile2>>myfile2.getline(line,k,' ')<<array2[j];

myfile2>>myfile2.getline(line,k,'\n')<<array2[++j];
}
}




Ο ΠΙΝΑΚΑΣ array2[M][N] ΕΙΝΑΙ ΙΣΟΔΥΝΑΜΟΣ ΜΕ ΤΟ ΔΕΙΚΤΗ *array2;
ΤΟ ΠΡΟΒΛΗΜΑ ΕΙΝΑΙ ΜΕ ΤΗΝ ΑΝΑΘΕΣΗ ΤΙΜΩΝ ΜΕ ΔΕΙΚΤΕΣ.
Π.Χ. int array[200][4];
int *k;
k=array


//ΕΙΧΑΜΕ ΤΟΝ array2 ΣΑΝ ΔΕΙΚΤΗ ΚΑΙ ΔΕΝ ΜΠΟΡΟΥΣΑΜΕ ΝΑ ΚΑΝΟΥΜΕ ΑΝΑΘΕΣΗ ΤΙΜΗΣ ΣΕ ΑΛΛΟΝ ΔΕΙΚΤΗ

Mymessage* Origin::searchwebsite(Mymessage *msg)
{
int flag=0;
int i=0;
int k;
k=msg->getId();

while ((array2!=NULL)&&(flag==0))
{ int l=array2[0];
while (k!=l)
{
++i;
}
if (k==array2[0])
{
flag=1;
}

}
return msg;

}




ΚΑΙ ΠΑΛΙ ΕΥΧΑΡΙΣΤΩ ΠΟΛΥ!!! :D

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες