C語言中使用JSON數據類型的方式越來越普遍,而在處理JSON數據時需要返回JSON文件的絕對路徑。下面我們來介紹如何使用C語言返回JSON文件的絕對路徑。
char* get_file_path(const char* rel_path) { char* file_path = NULL; char cwd[MAX_PATH] = {'\0'}; // 獲取當前工作目錄 if (getcwd(cwd, MAX_PATH) != NULL) { // 拼接文件路徑 file_path = malloc(strlen(rel_path) + strlen(cwd) + 2); if (file_path) { snprintf(file_path, strlen(rel_path) + strlen(cwd) + 2, "%s/%s", cwd, rel_path); file_path[strlen(rel_path) + strlen(cwd) + 1] = '\0'; } } return file_path; }
在該代碼中,我們首先使用getcwd函數獲取當前工作目錄,并將其存儲在cwd數組中。接著,我們將獲取到的相對路徑rel_path與當前工作目錄拼接得到完整的絕對路徑,并將其存儲在file_path指針變量中。最后,我們使用malloc函數為file_path分配內存,并返回該變量。
在使用該函數時,我們只需將相對路徑作為參數傳入,即可獲得JSON文件的絕對路徑。