Εγω ειμαι ρε Δημοσ. 10 Νοεμβρίου 2014 Δημοσ. 10 Νοεμβρίου 2014 Καλησπέρα οι σημαίες στα ρεύματα εισόδου/εξόδου αλλά και οι σημαίες για τον χειρισμό αρχείων είναι τύπου enum? π.χ. ofstream myfile; myfile.open("datafile",ios::out | ios::app); Το out και το app είναι τύπος enum στην κλάση ios σωστά ;Επίσης οι χειριστές στα ρεύματα εισόδου και εξόδου τι είναι ; π.χ. ο χειριστής endl σε μια πρόταση σαν αυτήν εδώ: cout << 255 << endl; Μπορεί να μην θέτω καλά τις ερωτήσεις αλλά ένας χειριστής στην C++ π.χ. ο hex με μια σημαία της C++ όπως ios::hex που έχουν ίδιο αποτέλεσμα γιατί καλούνται με διαφορετικό τρόπο;
Moderators Kercyn Δημοσ. 10 Νοεμβρίου 2014 Moderators Δημοσ. 10 Νοεμβρίου 2014 Τα out, app και τα flags για τα αρχεία είναι constants. Για την ερώτησή σου για τους I/O manipulators δες εδώ. Τώρα, για τη διαφορά του std::ios::hex με το std::hex δεν ξέρω, κοίταξα το definition τους στο VS και με έστειλε στο ίδιο σημείο. Δεν καταλαβαίνω τι εννοείς με το "καλούνται με διαφορετικό τρόπο'.
Εγω ειμαι ρε Δημοσ. 10 Νοεμβρίου 2014 Μέλος Δημοσ. 10 Νοεμβρίου 2014 π.χ. //Περίπτωση με σημαίες cout.setf(ios::hex,ios::basefield); cout<<255<<endl; //Περίπτωση με χειριστές //έχουν το ίδιο αποτέλεσμα cout << hex << 255 << endl; Και στις δύο αυτές περιπτώσεις ο αριθμός 255 εμφανίζεται σε 16 μορφή
Moderators Kercyn Δημοσ. 10 Νοεμβρίου 2014 Moderators Δημοσ. 10 Νοεμβρίου 2014 Στην πρώτη περίπτωση θέτεις flags για ολόκληρο το stream, ενώ στη δεύτερη μόνο για το μέρος του stream που ακολουθεί. std::cout.setf(std::ios::hex, std::ios::basefield); std::cout << 255 << " " << 255 << std::endl; Εδώ θα εκτυπώσει ff ff. std::cout << 255 << " " << std::hex << 255 << std::endl; Εδώ θα εκτυπώσει 255 ff.
defacer Δημοσ. 11 Νοεμβρίου 2014 Δημοσ. 11 Νοεμβρίου 2014 Και στις δύο αυτές περιπτώσεις ο αριθμός 255 εμφανίζεται σε 16 μορφή Οι δύο περιπτώσεις είναι 100% ισοδύναμες (kercyn, το παράδειγμά σου δεν είναι το ίδιο -- αν το << std::hex μπει πρώτο τότε είναι το ίδιο). Απλά το πρότυπο σου παρέχει δύο τρόπους να κάνεις το ίδιο πράγμα.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα