我正在使用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 :(得分:0)
在尝试访问文件之前,您可以使用g_mkdir_with_parents()
创建目录。它将创建所有需要的目录。您不需要检查文件是否存在,只需打开它即可。如果文件不存在,open将失败,当然你需要理智地处理它。所有I / O都可能失败。
当然,您可能也不应该对/home/demo/.config
部分进行硬编码,而是读出当前的用户名(或使用一些API,可能g_get_user_config_dir()
)。