当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 6 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : linux下程序中用mkdir创建路径
帖子发表于 : 2008-12-03 11:38 

注册: 2008-07-10 15:08
帖子: 448
送出感谢: 0 次
接收感谢: 0 次
#include <stdio.h>
#include<string.h>
#include<sys/types.h>
#include<dirent.h>
#include<errno.h>



//目录是否存在 1存在,0不存在,-1错误
int dir_exits(char *pPathName)
{
DIR * dir;

if(pPathName == NULL) return -1;

dir = opendir(pPathName);
if(dir == NULL){
return 0;
}else{
closedir(dir);
return 1;
}
}


//创建目录,子目录
int createdir(char *pPathName)
{
char *p;
char szPathName[256];

memset(szPathName,0,256);

p = strtok(pPathName,"/");
while(p != NULL){
strcat(szPathName,"/");
strcat(szPathName,p);
printf("szPathName=%sn",szPathName);

if(dir_exits(szPathName) == 0){
if(mkdir(szPathName,07777) == -1){
printf("call mkdir error. errno=%d,errstr=%sn",errno,strerror(errno));
}
}
p = strtok(NULL,"/");
}

return 0;
}

int main(int argc,char *argv[])
{
if(argc != 2){
printf("Useage: %s dirname(/home/xjli/1/2)n",argv[0]);
return -1;
}

printf("dir=%sn",argv[1]);
createdir(argv[1]);

return 0;
}
我想在linux下创建程序中路径上网搜了以下,找到了上面的代码,我编译的时候编译不过去就,没有mkdir的声明
照她的头文件我找到了dirent.h确实在其中就没有看见mkdir的声明,在c下用的是dir.h但是在linux下 没有这个头文件
想问问,这该撒办,不用mkdir的话在linux下如何用代码创建路径,指点


页首
 用户资料  
 
2 楼 
 文章标题 : Re: linux下程序中用mkdir创建路径
帖子发表于 : 2008-12-03 12:28 
头像

注册: 2005-12-28 1:16
帖子: 3916
地址: 火星
系统: Ubuntu 12.10 X64
送出感谢: 1
接收感谢: 0 次
代码:
       #include <sys/stat.h>
       #include <sys/types.h>


_________________
目前负债150多万


页首
 用户资料  
 
3 楼 
 文章标题 : Re: linux下程序中用mkdir创建路径
帖子发表于 : 2008-12-03 15:57 

注册: 2008-07-10 15:08
帖子: 448
送出感谢: 0 次
接收感谢: 0 次
谢谢
我试过了mkdir是能用了,它说的是成功,
但是我感觉我有一点不足的是,创建的时候要指定绝对路径
能不能指定先对路径阿,?


页首
 用户资料  
 
4 楼 
 文章标题 : Re: linux下程序中用mkdir创建路径
帖子发表于 : 2008-12-03 19:07 
头像

注册: 2005-12-28 1:16
帖子: 3916
地址: 火星
系统: Ubuntu 12.10 X64
送出感谢: 1
接收感谢: 0 次
weihua2008 写道:
谢谢
我试过了mkdir是能用了,它说的是成功,
但是我感觉我有一点不足的是,创建的时候要指定绝对路径
能不能指定先对路径阿,?



if ( 文件名 以/开头 )
{
使用绝对路径;
}
else
{
路径=$PWD+文件名
}


_________________
目前负债150多万


页首
 用户资料  
 
5 楼 
 文章标题 : Re: linux下程序中用mkdir创建路径
帖子发表于 : 2008-12-04 14:57 

注册: 2008-07-10 15:08
帖子: 448
送出感谢: 0 次
接收感谢: 0 次
xhy,
我领会你的意思,
$PWD是不是应该getcwd(buf,sizeof(buf))用才对
有直接用$PWD的吗?
我做的是实现了在当前路径下在创建一个文件夹,再在新建的文件夹里创建文件,并写入数据
但是感觉还有局限性,不能随心所欲的创建多级路径,当然受到权限的限制是一方面的原因
主要是多级路径该如何实现哪?
象$PWD+/1/2/3/4,有想法没有?


页首
 用户资料  
 
6 楼 
 文章标题 : Re: linux下程序中用mkdir创建路径
帖子发表于 : 2008-12-04 15:30 

注册: 2008-07-10 15:08
帖子: 448
送出感谢: 0 次
接收感谢: 0 次
搞定,俩字系统还不让发表了
搞定


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 6 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译