Genevil Δημοσ. 7 Απριλίου 2012 Δημοσ. 7 Απριλίου 2012 Παιδιά έχω ένα πρόβλημα στη c++.. Αν ανοίξω σε μια αρχική συνάρτηση ένα αρχείο για διάβασμα, πχ στη main, αυτό το αρχείο μπορώ να το επεξεργαστώ σε μια άλλη συνάρτηση με κάποιο τρόπο; Συγκεκριμένα, έχω δημιουργήσει το παρακάτω template για να ελέγχω την είσοδο δεδομένων εύκολα από το χρήστη κάθε φορά που χρειάζεται.. Το θέμα μου είναι πως δεν ξέρω πώς να ελέγχω την είσοδο δεδομένων από ένα αρχείο που έχω ανοίξει με fstream.. Θα ήθελα να προσθέσω αν γίνεται άλλο ένα argument, που θα προσδιορίζει το αρχείο που έχω ανοίξει στην καλούσα συνάρτηση για να μη χρειάζεται να το ξανανοίξω στο template.. Υπάρχει κάποιος τρόπος να το κάνω αυτό; Ευχαριστώ.. template <class T> bool check(T &x){ T y; if ( !(std::cin >> y) ){ std::cin.clear(); std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); return false; } else{ x=y; return true; } }
παπι Δημοσ. 7 Απριλίου 2012 Δημοσ. 7 Απριλίου 2012 περα απο τα υπαρξιακα θεματα της συναρτησης >#include <fstream> #include <string> template <class T> bool check(std::istream& in,T &x){ T y; if ( !(in >> y) ) { in.clear(); in.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); return false; } else { x=y; return true; } } int main(int, char**) { std::ifstream in("test.test"); int x; check(in,x); return 0; }
Genevil Δημοσ. 7 Απριλίου 2012 Μέλος Δημοσ. 7 Απριλίου 2012 Ευχαριστώ, ποτέ δεν περίμενα πως θα είναι τόσο απλό...
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα