Cách truy cập môi trường trong C++

Cach Truy Cap Moi Truong Trong C



C++ là ngôn ngữ lập trình cấp cao hiệu quả nhất. C++ tạo điều kiện cho chúng ta sử dụng nhiều thư viện hàm khác nhau và cho phép chúng ta xử lý các ngoại lệ cũng như tình trạng quá tải của một hàm. Chúng ta cũng có thể lấy môi trường trong C++ với sự trợ giúp của hàm getenv(). Các biến môi trường này được tìm thấy trong hệ điều hành mà tất cả các ngôn ngữ lập trình đều hoạt động và có thể được truy cập theo một cách nào đó. Hàm getenv() cung cấp cho ngôn ngữ lập trình C++ quyền truy cập vào các khả năng này. Sử dụng phương thức C++ getenv(), con trỏ tới chuỗi C chứa nội dung của các biến môi trường được cung cấp sẽ được trả về dưới dạng tham số. Ở đây, chúng ta sẽ tìm hiểu khái niệm này và kiểm tra cách chúng ta sẽ truy cập vào môi trường trong chương trình C++ với sự trợ giúp của các ví dụ.

Ví dụ 1:

Chúng tôi chỉ đơn giản bắt đầu với ví dụ đầu tiên của chúng tôi ở đây. Để thực hiện mã C++, chúng ta cần một số tệp tiêu đề. Vì vậy, chúng tôi đưa các tệp tiêu đề mà chúng tôi yêu cầu vào mã này. Tệp tiêu đề “iostream” rất cần thiết vì trong mã này, chúng tôi cần hiển thị một số dữ liệu và tệp tiêu đề này hỗ trợ chức năng “cout”. Sau đó, chúng ta có “cstdlib”; tiêu đề này cung cấp một tập hợp các phương thức giống như phương thức “getenv()”.

Bây giờ, chúng ta thêm “không gian tên std” nên không cần thêm “std” bằng các hàm “cout()” trong mã của mình. Sau đó, hàm “main()” được gọi. Sau đó, chúng ta đặt “char*” là một con trỏ ở đây có tên “var_1”. Sau đó, trong biến “var_1” này, chúng ta đặt hàm “getenv()” và truyền “SESSIONNAME” làm tham số của nó.







Sau đó, chúng tôi thêm điều kiện “if” để kiểm tra xem “var_1” có bằng “NULL” hay không. Nếu “var_1” không rỗng, nó sẽ in tên biến môi trường trước tiên. Sau đó, ở dòng tiếp theo, nó in giá trị của biến đó. Nhưng nếu “var_1” là “NULL”, nó sẽ không hiển thị bất kỳ thông báo nào ở đó và mã sẽ chấm dứt.



Mã 1:



#include
#include
sử dụng không gian tên tiêu chuẩn ;
int chủ yếu ( )
{
ký tự * đã_1 ;
đã_1 = gettenv ( 'TÊN PHIÊN' ) ;
nếu như ( đã_1 ! = VÔ GIÁ TRỊ )
cout << 'Tên biến là SESSIONNAME' << kết thúc ;
cout << 'Biến môi trường là:' << đã_1 ;
trở lại 0 ;
}

đầu ra :
Đầu ra này hiển thị tên của biến môi trường mà chúng ta thêm làm tham số của hàm “getenv()” và giá trị của biến môi trường này. Chúng tôi nhận được giá trị này với sự trợ giúp của hàm “getenv()” trong mã của chúng tôi.





Ví dụ 2:

Bây giờ, chúng ta có một ví dụ khác. Chúng tôi bắt đầu mã của mình bằng cách bao gồm các tệp tiêu đề cần thiết. Sau đó, chúng ta gõ “không gian tên std”. Sau đó, chúng ta truy cập vào hàm “main()”, trong đó chúng ta tạo một con trỏ “char* ” có tên là “newEnv_var” và khởi tạo nó bằng tên biến môi trường “Path”. Sau đó, chúng ta thêm một “char* ” khác cũng là một con trỏ ở đây và đặt tên là “myValue”.



Bây giờ, chúng ta khởi tạo biến “myValue” bằng hàm “getenv()” và chuyển “newEnv_var” cho hàm “getenv()” này; nó là tham số của hàm này. Biến “newEnv_var” này chứa tên của biến môi trường khi chúng ta khởi tạo nó bằng “PATH”. Tiếp theo, điều kiện “if” được thêm vào để xác định xem “myValue” có tương đương với “NULL” hay không. Nếu “myValue” không phải là null thì tên biến môi trường sẽ được in đầu tiên, theo sau là giá trị của biến ở dòng tiếp theo. Tuy nhiên, nếu “myValue” được đặt thành “NULL”, sẽ không có thông báo nào được hiển thị và mã kết thúc tại đây.

Mã 2:

#include
#include
sử dụng không gian tên tiêu chuẩn ;
int chủ yếu ( )
{
ký tự * mớiEnv_var = 'CON ĐƯỜNG' ;
ký tự * giá trị của tôi ;
giá trị của tôi = gettenv ( mớiEnv_var ) ;
nếu như ( giá trị của tôi ! = VÔ GIÁ TRỊ ) {
cout << 'Biến =' << mớiEnv_var << kết thúc ;
cout << 'Giá trị =' << giá trị của tôi << kết thúc ;
}
khác
cout << 'Biến không tồn tại!' << giá trị của tôi ;
trở lại 0 ;
}

Đầu ra:
Bây giờ, trên thiết bị đầu cuối, nó hiển thị giá trị của biến môi trường “PATH” mà chúng ta nhận được bằng cách sử dụng hàm “getenv()” trong mã của mình. Nó khác nhau trên mỗi máy tính vì đường dẫn trên mỗi máy tính là khác nhau.

Ví dụ 3:

Đây là một ví dụ khác: chúng tôi nhập “namespace std” ở đầu mã sau khi kết hợp các tệp tiêu đề “iostream” và “cstdlib” được yêu cầu. Tiếp theo, chúng ta nhập phương thức “main()” trong đó chúng ta tạo một con trỏ “char*” có tên là “myVar” và khởi tạo tên biến môi trường “PUBLIC”.

Tiếp theo, chúng ta tạo một “char*” mới có tên là “myValue”; cái này cũng là một con trỏ. Bây giờ “myVar” được cung cấp cho hàm “getenv()”, mà chúng ta khởi tạo biến “myValue”, đó là một đối số của hàm. Vì chúng tôi khởi tạo nó bằng “PUBLIC” nên tên biến môi trường được chứa trong biến “myVar” này.

Sau đó, để xác định xem “myValue” có bằng “NULL” hay không, điều kiện “if” sẽ được thêm vào. Tên biến môi trường sẽ xuất hiện đầu tiên trên màn hình nếu “myValue” không phải là null và giá trị của biến sẽ xuất hiện ở dòng tiếp theo. Sau đó, chúng ta thêm phần khác vào đây để thực thi nếu điều kiện đã cho không được thỏa mãn. Ở đây, chúng tôi in một thông báo cho chúng tôi biết rằng “Không tìm thấy biến ở đây”.

Mã 3:

#include
#include
sử dụng không gian tên tiêu chuẩn ;
int chủ yếu ( )
{
ký tự * myVar = 'CÔNG CỘNG' ;
ký tự * giá trị của tôi ;
giá trị của tôi = gettenv ( myVar ) ;
nếu như ( giá trị của tôi ! = VÔ GIÁ TRỊ ) {
cout << 'Biến =' << myVar << kết thúc ;
cout << 'Đó là Giá trị =' << giá trị của tôi << kết thúc ;
}
khác
cout << 'Biến không tìm thấy ở đây..!!' << giá trị của tôi ;
trở lại 0 ;
}

Đầu ra:
Tên của biến môi trường mà chúng ta thêm làm tham số cho hàm “getenv()”, cùng với giá trị của nó, được hiển thị trong kết quả đầu ra này. Chúng ta có thể lấy giá trị này bằng cách sử dụng hàm “getenv()” trong mã của mình.

Ví dụ 4:

Chúng tôi tạo một mảng char không đổi có tên “NewEnv_var[]” ở đây với kích thước là “6”. Sau đó, chúng tôi chuyển tất cả các biến môi trường có thể có vào mảng này. Bên dưới mảng này, chúng ta có một mảng khác có tên “char *env_value[]” với cùng kích thước là “6”. Bây giờ, chúng ta có một vòng lặp “for” và chúng ta lặp tất cả các biến môi trường này từ hàm “getenv()” để lấy giá trị của tất cả các biến này và lưu trữ chúng trong mảng “env_value”. Bên trong vòng lặp “for” này, chúng tôi cũng đặt điều kiện “if” để kiểm tra xem giá trị môi trường có rỗng hay không. Nếu giá trị không rỗng, nó sẽ in giá trị và tên biến. Nếu nó là null, nó sẽ hiển thị thông báo rằng biến môi trường không tồn tại ở đây.

Mã 4:

#include
#include
sử dụng không gian tên tiêu chuẩn ;
int chủ yếu ( )
{
hằng số ký tự * MớiEnv_var [ 6 ] = { 'CÔNG CỘNG' , 'TRANG CHỦ' , 'TÊN PHIÊN' , 'LIB' , 'Ổ đĩa hệ thống' , 'DELTREE' } ;
ký tự * env_value [ 6 ] ;
( int Một = 1 ; Một <= 6 ; Một ++ )
{
env_value [ Một ] = gettenv ( MớiEnv_var [ Một ] ) ;
nếu như ( env_value [ Một ] ! = VÔ GIÁ TRỊ )
cout << 'Biến là' << MớiEnv_var [ Một ] << ', và đó là 'Giá trị= ' << env_value [ Một ] << kết thúc ;
khác
cout << MớiEnv_var [ Một ] << 'không tồn tại ở đây' << kết thúc ;
}
}

Đầu ra:
Ở đây, nó hiển thị tất cả các giá trị có thể có của biến môi trường và cũng hiển thị thông báo rằng “HOME”, “LIB” và “DELTREE” không tồn tại, có nghĩa là giá trị của chúng là NULL.

Ví dụ 5:

Bây giờ, hãy tiếp tục. Đây là ví dụ cuối cùng của hướng dẫn này. Ở đây, chúng tôi thiết lập một mảng char không đổi có kích thước “4” được gọi là “Biến []” mà chúng tôi cung cấp tất cả các biến môi trường tiềm năng. Bây giờ chúng ta sử dụng vòng lặp “for”. Bên dưới mảng này, có một mảng khác có cùng kích thước “4” được gọi là “char *values[]” và chúng ta đặt hàm “getenv()” ở đó và truyền “variable[i]” làm tham số của nó. Vòng lặp này được sử dụng để lặp lại tất cả các biến môi trường, truy xuất các giá trị của chúng từ hàm “getenv()” và lưu chúng vào mảng “values[]”.

Chúng tôi bao gồm điều kiện “if” trong vòng lặp “for” này để xác định xem giá trị môi trường có rỗng hay không. Giá trị và tên biến được in nếu giá trị không phải là null và một thông báo được hiển thị nếu nó là NULL được cung cấp trong phần “else”.

Mã 5:

#include
sử dụng không gian tên tiêu chuẩn ;
int chủ yếu ( ) {
hằng số ký tự * Biến đổi [ 4 ] = { 'CÔNG CỘNG' , 'TRANG CHỦ' , 'DELTREE' , 'TÊN ĐĂNG NHẬP' } ;
( int Tôi = 0 ; Tôi <= 4 ; Tôi ++ )
{
hằng số ký tự * giá trị = gettenv ( Biến đổi [ Tôi ] ) ;
nếu như ( giá trị ! = VÔ GIÁ TRỊ ) {
cout << Biến đổi [ Tôi ] << ' = ' << giá trị << kết thúc ;
}
khác {
cout << Biến đổi [ Tôi ] << 'Không tìm thấy ở đây!' << kết thúc ;
}
}
trở lại 0 ;
}

Đầu ra:
Trong trường hợp này, các giá trị có thể có của biến môi trường được hiển thị cùng với thông báo rằng không tìm thấy các giá trị “HOME”, “DELTREE” và “LONGNAME” ở đây, nghĩa là chúng là giá trị NULL.

Phần kết luận

Hướng dẫn này chủ yếu nói về “cách truy cập vào môi trường trong C++”. Chúng tôi đã khám phá các ví dụ trong đó chúng tôi đã học cách truy cập vào biến môi trường riêng lẻ hoặc sử dụng mảng trong đó chúng tôi chuyển tất cả các biến môi trường có thể có và sau đó nhận các giá trị bằng cách sử dụng hàm “getenv()”. Phương thức “getenv()” này được cung cấp bởi ngôn ngữ C++ để nhận các giá trị biến môi trường cần thiết.