从相对路径创建目录和加载文件
Creating dir and loading file from relative path
我正在使用 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
}
您可以只使用 g_mkdir_with_parents()
创建目录,然后再尝试访问该文件。它将创建所有需要的目录。您无需检查文件是否存在,只需打开它即可。如果文件不存在,打开将失败,当然你需要明智地处理它。所有 I/O 都可能失败。
当然,您可能也不应该对 /home/demo/.config
部分进行硬编码,而应该读出当前用户名(或者使用一些 API,可能是 g_get_user_config_dir()
)。
我正在使用 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
}
您可以只使用 g_mkdir_with_parents()
创建目录,然后再尝试访问该文件。它将创建所有需要的目录。您无需检查文件是否存在,只需打开它即可。如果文件不存在,打开将失败,当然你需要明智地处理它。所有 I/O 都可能失败。
当然,您可能也不应该对 /home/demo/.config
部分进行硬编码,而应该读出当前用户名(或者使用一些 API,可能是 g_get_user_config_dir()
)。