首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

请教小弟我该怎么在~目录创建一个文件呢

2012-03-07 
请问我该如何在~目录创建一个文件呢?rt,多谢各位不吝赐教char*path a.c open(path,O_CREAT,77777)同

请问我该如何在~目录创建一个文件呢?
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 ();
}

热点排行