Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Παιδιά έχω ένα πρόβλημα στη 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;

}

}

Δημοσ.

περα απο τα υπαρξιακα θεματα της συναρτησης

 

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

 

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...