文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>linux c配置文件读取一

linux c配置文件读取一

时间:2010-07-14  来源:chengbin_liu

配置文件读取一:

现有一文件.myprofile,里面内容为环境变量如:path=/bin:/sbin:/usr/bin:/usr/sbin;

要求截取路径为

/bin

/sbin

/usr/bin

/usr/sbin

实现代码:

实现一:

int init_envi(char *buf[])

{

char *token;

int fd;

int i=0;

fd=open("./myprofile",O_RDONLY);

if(fd==-1)

{

perror("open error!");

exit(1);

}

memset(str_buf,'\0',sizeof(str_buf));

read(fd,str_buf,sizeof(str_buf));

str_buf[strlen(str_buf)-1]='\0';

token=strtok(str_buf,"=");

buf[i]=token;

while(token!=NULL)

{

token=strtok(NULL,":");

buf[++i]=token;

// printf("the buf[%d] is =%s\n",i,buf[i]);

}

buf[i]=NULL;

return 0;

}

实现二:

void env_init()

{

FILE *fp;

int i=0;

char *p=env_buf;

if((fp=fopen("./myprofile","r"))==NULL)

{

perror("open my_profile error");

exit(1);

}

fgets(env_buf,200,fp);

fclose(fp);

printf("env_buf=%s\n",env_buf);

p=strstr(env_buf,"PATH=")+5;

argv_env[i++]=p;

while(*p!='\0')

{

if( (*p==':') && (*(p+1)!='\0'))

{

argv_env[i++]=p+1;

*p='\0';

}

p++;

}

argv_env[i]=NULL;

i=0;

while(argv_env[i]!=NULL)

{

printf("argv_env[%d]=%s\n",i,argv_env[i++]);

}

}

排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载