请问我该如何在~目录创建一个文件呢?
rt,多谢各位不吝赐教
char *path= "a.c ";
open(path,O_CREAT,77777);
同样方法将*path= "~/a.c "就不能创建了,这是为什么呢?
------解决方案--------------------先用getpwent得到当前uid的HOME目录,然后将其与你的路径组合起来。
getpwent的例子代码如下:
#include <stdio.h>
#include <pwd.h>
int
main ()
{
struct passwd *pwd;
setpwent ();
while ((pwd = getpwent ()) != NULL)
{
printf ( "%d:%s:%s \n ", pwd-> pw_uid, pwd-> pw_name, pwd-> pw_dir);
if(pwd-> pw_uid == getuid())
{
printf ( " CURRENT: %d:%s:%s \n ", pwd-> pw_uid, pwd-> pw_name, pwd-> pw_dir);
}
}
endpwent ();
}