一、getcwd函數
getcwd函數是一個獲取當前工作目錄的系統調用函數,其原型如下:
#include <unistd.h> char *getcwd(char *buf, size_t size);
函數說明:
- buf:指向存儲當前工作目錄的緩衝區指針
- size:buf的大小(位元組數)
- 返回值:執行成功返回指向buf的指針,發生錯誤返回NULL指針,並設置errno
當傳入的buf大小小於當前工作目錄路徑名的長度時,將會返回NULL指針並設置errno為ERANGE(超出範圍)。
當傳入的buf參數為NULL時,getcwd函數將自動分配一個足夠大的緩衝區,並返回指向該緩衝區的指針。
二、getpy函數
在Python中,os庫提供了getcwd函數的等效函數,即getpy函數。
import os path = os.getpy()
該函數沒有任何參數,返回值為表示當前工作目錄的字符串。
三、get函數python
在Python中,os庫中有一個get函數可以獲取環境變量的值。
import os path = os.getenv('PWD')
該函數有一個參數,即要查詢的環境變量的名稱,返回值為表示該環境變量的字符串。
四、getc函數
getc函數在C語言標準庫中有定義,其作用是從標準輸入中讀取一個字符,等價於getchar()函數。
#include <stdio.h> int getc(FILE *stream);
函數說明:
- stream:指向要讀取字符的文件指針
- 返回值:返回讀取到的字符或文件結束符EOF
在與getcwd函數相關聯時,常常用於讀取用戶的鍵盤輸入,以執行相應的操作。
五、getwd函數
getwd函數是getcwd函數的一個過時版本,已經不再被推薦使用。
#include <unistd.h> #include <sys/param.h> char *getwd(char *buf);
函數說明:
- buf:指向存儲當前工作目錄的緩衝區指針
- 返回值:執行成功返回指向buf的指針,失敗返回NULL指針,並設置errno
與getcwd函數不同的是,此函數不需要指定緩衝區大小,緩衝區大小為MAXPATHLEN(一個常量)。此外,該函數也不支持動態分配緩衝區。
六、gets函數怎麼用
gets函數是一個從標準輸入讀取一行數據的C標準庫函數,其原型如下:
#include <stdio.h> char *gets(char *str);
函數說明:
- str:指向要存儲輸入數據的緩衝區
- 返回值:返回存儲在緩衝區中的數據
該函數無法判斷輸入緩衝區是否越界,因此容易造成緩衝區溢出的安全漏洞,已經被標記為過時函數。
七、d.get函數
d.get函數是Python字典(dict)類型的方法之一,用於獲取指定鍵的值。在與getcwd函數聯合使用時,可藉助該函數實現從字典中獲取某個特定值。
my_dict = {'name': 'Lucy', 'age': 25} age = my_dict.get('age')
該函數有一個參數,即要獲取值的鍵名,返回值為對應的值。如果鍵不存在,則返回None。
八、函數gets
函數gets是C語言標準庫IO函數之一,用於從指定文件中讀取一行字符串。與gets函數相關聯的函數包括fputs(輸出字符串到文件)、puts(輸出字符串到標準輸出)等。
#include <stdio.h> char *gets(char *str);
函數說明:
- str:指向要存儲輸入數據的緩衝區
- 返回值:返回存儲在緩衝區中的數據
類似於gets函數,此函數也無法避免緩衝區溢出的安全漏洞。因此,建議使用fgets函數替代此函數,可避免該類漏洞。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/231730.html