Πώς να αποκτήσετε πρόσβαση στο περιβάλλον στη C++

Pos Na Apoktesete Prosbase Sto Periballon Ste C



Η C++ είναι η πιο αποτελεσματική γλώσσα υψηλού επιπέδου για προγραμματισμό. Η C++ μας διευκολύνει με μια ποικιλία βιβλιοθηκών συναρτήσεων και μας επιτρέπει να χειριζόμαστε τις εξαιρέσεις και την υπερφόρτωση μιας συνάρτησης. Μπορούμε επίσης να πάρουμε το περιβάλλον σε C++ με τη βοήθεια της συνάρτησης getenv(). Αυτές οι μεταβλητές περιβάλλοντος βρίσκονται στο λειτουργικό σύστημα στο οποίο λειτουργούν όλες οι γλώσσες προγραμματισμού και μπορούν να προσπελαστούν με κάποιο τρόπο. Η συνάρτηση getenv() δίνει στη γλώσσα προγραμματισμού C++ πρόσβαση σε αυτές τις δυνατότητες. Χρησιμοποιώντας τη μέθοδο C++ getenv(), ο δείκτης στη συμβολοσειρά C που περιέχει τα περιεχόμενα των παρεχόμενων μεταβλητών περιβάλλοντος επιστρέφεται ως παράμετρος. Εδώ, θα μάθουμε αυτήν την έννοια και θα ελέγξουμε πώς θα έχουμε πρόσβαση στο περιβάλλον στον προγραμματισμό μας C++ με τη βοήθεια παραδειγμάτων.

Παράδειγμα 1:

Απλώς ξεκινάμε με το πρώτο μας παράδειγμα εδώ. Για να κάνουμε τους κωδικούς C++, χρειαζόμαστε μερικά αρχεία κεφαλίδας. Έτσι, συμπεριλαμβάνουμε τα αρχεία κεφαλίδας που χρειαζόμαστε σε αυτόν τον κώδικα. Το αρχείο κεφαλίδας 'iostream' είναι απαραίτητο επειδή, σε αυτόν τον κώδικα, πρέπει να εμφανίσουμε ορισμένα δεδομένα και αυτό το αρχείο κεφαλίδας υποστηρίζει τη λειτουργία 'cout'. Στη συνέχεια, έχουμε 'cstdlib'? αυτή η κεφαλίδα παρέχει ένα σύνολο μεθόδων όπως η μέθοδος 'getenv()'.

Τώρα, προσθέτουμε το 'namespace std' ώστε να μην χρειάζεται να προσθέσουμε το 'std' με τις συναρτήσεις 'cout()' στον κώδικά μας. Μετά από αυτό, καλείται η συνάρτηση 'main()'. Στη συνέχεια, τοποθετούμε το 'char*' που είναι ένας δείκτης εδώ με το όνομα 'var_1'. Στη συνέχεια, σε αυτή τη μεταβλητή 'var_1', τοποθετούμε τη συνάρτηση 'getenv()' και περνάμε το 'SESSIONNAME' ως παράμετρό της.







Μετά από αυτό, προσθέτουμε μια συνθήκη 'if' που ελέγχει εάν το 'var_1' δεν είναι ίσο με 'NULL'. Εάν το 'var_1' δεν είναι null, εκτυπώνει πρώτα το όνομα της μεταβλητής περιβάλλοντος. Στη συνέχεια, στην επόμενη γραμμή, εκτυπώνει την τιμή αυτής της μεταβλητής. Αλλά εάν το 'var_1' είναι 'NULL', δεν θα εμφανίσει κανένα μήνυμα εκεί και ο κωδικός τερματίζεται.



Κωδικός 1:



#include
#include
χρησιμοποιώντας χώρο ονομάτων std ;
ενθ κύριος ( )
{
απανθρακώνω * was_1 ;
was_1 = gettenv ( 'SESSIONNAME' ) ;
αν ( was_1 ! = ΜΗΔΕΝΙΚΟ )
cout << 'Το όνομα της μεταβλητής είναι SESSIONNAME' << endl ;
cout << 'Η μεταβλητή περιβάλλοντος είναι:' << was_1 ;
ΕΠΙΣΤΡΟΦΗ 0 ;
}

Παραγωγή :
Αυτή η έξοδος αποδίδει το όνομα της μεταβλητής περιβάλλοντος που προσθέτουμε ως παράμετρο της συνάρτησης “getenv()” και την τιμή αυτής της μεταβλητής περιβάλλοντος. Λαμβάνουμε αυτήν την τιμή με τη βοήθεια της συνάρτησης “getenv()” στον κώδικά μας.





Παράδειγμα 2:

Τώρα, έχουμε ένα άλλο παράδειγμα. Ξεκινάμε τον κώδικά μας συμπεριλαμβάνοντας τα απαραίτητα αρχεία κεφαλίδας. Στη συνέχεια, πληκτρολογούμε 'namespace std'. Μετά από αυτό, έχουμε πρόσβαση στη συνάρτηση 'main() στην οποία δημιουργούμε έναν δείκτη 'char*' με το όνομα 'newEnv_var' και τον αρχικοποιούμε με το όνομα της μεταβλητής περιβάλλοντος 'Path'. Στη συνέχεια, προσθέτουμε ένα άλλο 'char*' που είναι επίσης δείκτης εδώ και το ονομάζουμε 'myValue'.



Τώρα, αρχικοποιούμε τη μεταβλητή 'myValue' με τη συνάρτηση 'getenv()' και περνάμε το 'newEnv_var' σε αυτήν τη συνάρτηση 'getenv()'. είναι η παράμετρος αυτής της συνάρτησης. Αυτή η μεταβλητή 'newEnv_var' περιέχει το όνομα της μεταβλητής περιβάλλοντος όπως την αρχικοποιούμε με 'PATH'. Στη συνέχεια, προστίθεται μια συνθήκη 'if' για να καθοριστεί εάν το 'myValue' είναι ισοδύναμο με 'NULL' ή όχι. Εάν το 'myValue' δεν είναι μηδενικό, το όνομα της μεταβλητής περιβάλλοντος εκτυπώνεται πρώτα, ακολουθούμενο από την τιμή της μεταβλητής στην επόμενη γραμμή. Ωστόσο, εάν το 'myValue' έχει οριστεί σε 'NULL', δεν εμφανίζεται κανένα μήνυμα και ο κωδικός τελειώνει εδώ.

Κωδικός 2:

#include
#include
χρησιμοποιώντας χώρο ονομάτων std ;
ενθ κύριος ( )
{
απανθρακώνω * newEnv_var = 'ΜΟΝΟΠΑΤΙ' ;
απανθρακώνω * myValue ;
myValue = gettenv ( newEnv_var ) ;
αν ( myValue ! = ΜΗΔΕΝΙΚΟ ) {
cout << 'Η μεταβλητή =' << newEnv_var << endl ;
cout << 'Η τιμή =' << myValue << endl ;
}
αλλού
cout << 'Η μεταβλητή δεν υπάρχει!' << myValue ;
ΕΠΙΣΤΡΟΦΗ 0 ;
}

Παραγωγή:
Τώρα, στο τερματικό, δείχνει την τιμή της μεταβλητής περιβάλλοντος 'PATH' που παίρνουμε χρησιμοποιώντας τη συνάρτηση 'getenv()' στον κώδικά μας. Διαφέρει σε κάθε υπολογιστή, καθώς η διαδρομή σε κάθε υπολογιστή είναι διαφορετική.

Παράδειγμα 3:

Ακολουθεί ένα άλλο παράδειγμα: πληκτρολογούμε 'namespace std' στην αρχή του κώδικά μας αφού ενσωματώσουμε τα απαιτούμενα αρχεία κεφαλίδας 'iostream' και 'cstdlib'. Στη συνέχεια, εισάγουμε τη μέθοδο 'main()' όπου δημιουργούμε έναν δείκτη 'char*' που ονομάζεται 'myVar' και αρχικοποιούμε το όνομα της μεταβλητής περιβάλλοντος 'PUBLIC'.

Στη συνέχεια, δημιουργούμε ένα νέο 'char*' που ονομάζεται 'myValue'. αυτό είναι επίσης δείκτης. Τώρα που το 'myVar' παρέχεται στη συνάρτηση 'getenv()', με την οποία αρχικοποιούμε τη μεταβλητή 'myValue', είναι ένα όρισμα συνάρτησης. Εφόσον το αρχικοποιούμε με 'PUBLIC', το όνομα της μεταβλητής περιβάλλοντος περιέχεται σε αυτήν τη μεταβλητή 'myVar'.

Στη συνέχεια, για να εξακριβωθεί εάν το 'myValue' είναι ίσο με 'NULL' ή όχι, προστίθεται μια συνθήκη 'αν'. Το όνομα της μεταβλητής περιβάλλοντος θα εμφανιστεί πρώτα στην οθόνη εάν το 'myValue' δεν είναι μηδενικό και η τιμή της μεταβλητής θα εμφανιστεί στην επόμενη γραμμή. Έπειτα, έχουμε εδώ προστεθεί το άλλο μέρος που εκτελείται αν δεν ικανοποιηθεί η δεδομένη συνθήκη. Εδώ, εκτυπώνουμε ένα μήνυμα που μας λέει ότι η μεταβλητή δεν βρέθηκε εδώ.

Κωδικός 3:

#include
#include
χρησιμοποιώντας χώρο ονομάτων std ;
ενθ κύριος ( )
{
απανθρακώνω * myVar = 'ΔΗΜΟΣΙΟ' ;
απανθρακώνω * myValue ;
myValue = gettenv ( myVar ) ;
αν ( myValue ! = ΜΗΔΕΝΙΚΟ ) {
cout << 'Η μεταβλητή =' << myVar << endl ;
cout << 'Είναι αξία=' << myValue << endl ;
}
αλλού
cout << 'Η μεταβλητή δεν βρέθηκε εδώ..!!' << myValue ;
ΕΠΙΣΤΡΟΦΗ 0 ;
}

Παραγωγή:
Το όνομα της μεταβλητής περιβάλλοντος που προσθέτουμε ως παράμετρο στη συνάρτηση «getenv()», μαζί με την τιμή της, αποδίδεται σε αυτήν την έξοδο. Μπορούμε να λάβουμε αυτήν την τιμή χρησιμοποιώντας τη συνάρτηση «getenv()» του κώδικά μας.

Παράδειγμα 4:

Δημιουργούμε έναν πίνακα σταθερών χαρακτήρων με το όνομα 'NewEnv_var[]' εδώ με το μέγεθος '6'. Στη συνέχεια, περνάμε όλες τις πιθανές μεταβλητές περιβάλλοντος σε αυτόν τον πίνακα. Κάτω από αυτό, έχουμε έναν άλλο πίνακα με το όνομα 'char *env_value[]' με το ίδιο μέγεθος '6'. Τώρα, έχουμε έναν βρόχο 'for' και κάνουμε βρόχο όλες αυτές τις μεταβλητές περιβάλλοντος από τη συνάρτηση 'getenv()' για να πάρουμε τις τιμές όλων αυτών των μεταβλητών και να τις αποθηκεύσουμε στον πίνακα 'env_value'. Μέσα σε αυτόν τον βρόχο «για», τοποθετούμε επίσης μια συνθήκη «αν» που ελέγχει εάν η τιμή περιβάλλοντος είναι μηδενική. Εάν η τιμή δεν είναι null, εκτυπώνει την τιμή και το όνομα της μεταβλητής. Εάν είναι null, δείχνει ένα μήνυμα ότι η μεταβλητή περιβάλλοντος δεν υπάρχει εδώ.

Κωδικός 4:

#include
#include
χρησιμοποιώντας χώρο ονομάτων std ;
ενθ κύριος ( )
{
συνθ απανθρακώνω * NewEnv_var [ 6 ] = { 'ΔΗΜΟΣΙΟ' , 'ΣΠΙΤΙ' , 'SESSIONNAME' , 'LIB' , 'SystemDrive' , 'DELTREE' } ;
απανθρακώνω * env_value [ 6 ] ;
Για ( ενθ ένα = 1 ; ένα <= 6 ; ένα ++ )
{
env_value [ ένα ] = gettenv ( NewEnv_var [ ένα ] ) ;
αν ( env_value [ ένα ] ! = ΜΗΔΕΝΙΚΟ )
cout << 'Η μεταβλητή είναι' << NewEnv_var [ ένα ] << ', και είναι 'Τιμή=' << env_value [ ένα ] << endl ;
αλλού
cout << NewEnv_var [ ένα ] << 'δεν υπάρχει εδώ' << endl ;
}
}

Παραγωγή:
Εδώ, εμφανίζει όλες τις πιθανές τιμές της μεταβλητής περιβάλλοντος και δείχνει επίσης το μήνυμα ότι 'HOME', 'LIB' και 'DELTREE' δεν υπάρχουν, πράγμα που σημαίνει ότι η τιμή τους είναι NULL.

Παράδειγμα 5:

Τώρα, πάμε μπροστά. Αυτό είναι το τελευταίο παράδειγμα αυτού του σεμιναρίου. Εδώ, δημιουργούμε έναν σταθερό πίνακα χαρακτήρων μεγέθους '4' που ονομάζεται 'Μεταβλητή[]' στον οποίο παρέχουμε όλες τις πιθανές μεταβλητές περιβάλλοντος. Τώρα χρησιμοποιούμε έναν βρόχο 'για'. Κάτω από αυτό, υπάρχει ένας άλλος πίνακας με το ίδιο μέγεθος '4' που ονομάζεται 'char *values[]' και τοποθετούμε τη συνάρτηση 'getenv()' εκεί και περνάμε τη 'μεταβλητή[i]' ως παράμετρό της. Αυτός ο βρόχος χρησιμοποιείται για την επανάληψη σε όλες τις μεταβλητές περιβάλλοντος, ανακτώντας τις τιμές τους από τη συνάρτηση «getenv()» και αποθηκεύοντάς τις στον πίνακα «τιμές[]».

Περιλαμβάνουμε τη συνθήκη «αν» σε αυτόν τον βρόχο «για» που καθορίζει εάν η τιμή περιβάλλοντος είναι μηδενική ή όχι. Η τιμή και το όνομα της μεταβλητής εκτυπώνονται εάν η τιμή δεν είναι null και εμφανίζεται ένα μήνυμα εάν είναι NULL που παρέχεται στο τμήμα 'άλλο'.

Κωδικός 5:

#include
χρησιμοποιώντας χώρο ονομάτων std ;
ενθ κύριος ( ) {
συνθ απανθρακώνω * μεταβλητός [ 4 ] = { 'ΔΗΜΟΣΙΟ' , 'ΣΠΙΤΙ' , 'DELTREE' , 'LOGNAME' } ;
Για ( ενθ Εγώ = 0 ; Εγώ <= 4 ; Εγώ ++ )
{
συνθ απανθρακώνω * αξίες = gettenv ( μεταβλητός [ Εγώ ] ) ;
αν ( αξίες ! = ΜΗΔΕΝΙΚΟ ) {
cout << μεταβλητός [ Εγώ ] << ' = ' << αξίες << endl ;
}
αλλού {
cout << μεταβλητός [ Εγώ ] << 'Δεν βρέθηκε εδώ!' << endl ;
}
}
ΕΠΙΣΤΡΟΦΗ 0 ;
}

Παραγωγή:
Σε αυτήν την περίπτωση, οι πιθανές τιμές της μεταβλητής περιβάλλοντος εμφανίζονται μαζί με την ειδοποίηση ότι οι τιμές 'HOME', 'DELTREE' και 'LONGNAME' δεν βρίσκονται εδώ, πράγμα που σημαίνει ότι είναι NULL τιμές.

συμπέρασμα

Αυτό το σεμινάριο αφορά «πώς να αποκτήσετε πρόσβαση στο περιβάλλον στη C++». Εξερευνήσαμε τα παραδείγματα στα οποία μάθαμε πώς να έχουμε πρόσβαση στη μεταβλητή περιβάλλοντος μεμονωμένα ή χρησιμοποιώντας τον πίνακα στον οποίο περνάμε όλες τις πιθανές μεταβλητές περιβάλλοντος και στη συνέχεια παίρνουμε τις τιμές χρησιμοποιώντας τη συνάρτηση «getenv()». Αυτή η μέθοδος 'getenv()' παρέχεται από τη γλώσσα C++ για να ληφθούν οι απαιτούμενες τιμές μεταβλητής περιβάλλοντος.