2015-06-08 36 views
1

我正在使用C和gtk,我需要在/home/demo/.config創建一個目錄並從此目錄加載一個文件以使用相對路徑。我用C和gtk 2.0編寫。創建目錄並從相對路徑加載文件

我暫時使用g_build_filename,但這隻會在目錄存在時才起作用,它不會創建一個新目錄。

感謝您的幫助!

編輯:

管理創建所需的目錄。現在我需要檢查文件是否存在。

這樣的:

if(!file_exists) 
{ 
//file doesn't exist 
} 
else if(file_exists) 
{ 
//file_exists 
} 
+0

'如果(!file_exists) 如果(file_exists){// 文件不存在}其他 {// file_exists }'。更好的變化在於,如果(!file_exists) {// 文件不存在 } 其他 {// file_exists } – greenapps

回答

0

你可以使用g_mkdir_with_parents()創建目錄,試圖訪問該文件之前。它將創建所有需要的目錄。您不需要檢查文件是否存在,只需打開即可。如果該文件不存在,則打開將失敗,當然,您需要處理這個問題。所有I/O都可能失敗。

當然,你可能也不應該硬編碼/home/demo/.config部分,而是讀出當前的用戶名(或使用一些API,可能爲g_get_user_config_dir())。

相關問題