嵌入式 popen获取文件中指定变量的值

原创 2013年12月04日 10:31:03
popen获取文件中指定变量的值:
 
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>

#ifdef __DEBUG__
    #define msg_print(...) printf(__VA_ARGS__)
#else
    #define msg_print(...)
#endif

#define CONF_FILE_PATH "."
#define MAX_VALUE_LEN 32

int joseph_read_conf(const char *key, char *value);

int joseph_read_conf(const char *key, char *value)
{
    FILE *stream = NULL;
    char cmd[64] = {0};

    if(NULL == key || 0 == strlen(key)){
    	msg_print("invalid parameter!\n");
	return -1;
    }

    sprintf(cmd, "cat %s/ipnc_conf.conf | awk '/%s/{print $2}'",\
	    CONF_FILE_PATH, key);
    msg_print("cmd = %s\n", cmd);

    stream = popen(cmd,"r");

    if(fread(value, sizeof(char), MAX_VALUE_LEN, stream) <= 0){
    	pclose(stream);
	return -1;
    }
    strcpy(value + strlen(value) - 1, "\0");
    msg_print("value = %s\n",value);
    pclose(stream);
}

int main(int argc,char *argv[])
{
    char value[32] = {0};
    joseph_read_conf(argv[1], value);

    printf("value = %s\n",value);
    return 0;
}

spring加载properties文件,并将属性值注入到指定类的指定成员变量

问题背景:有一个新需求,需要对现有场景入参进行特定节点的校验,但是需要对该节点的校验与否加一个开关(需要校验的时候就打开,不需要校验的时候就关闭),且开关必须加在.properties文件中,并且这个...
  • u011063151
  • u011063151
  • 2016年11月08日 19:08
  • 2384

使用popen()执行shell命令并获取内容

1.popen通过管道获取shell的输出结果,跟重定向(ls > /test.txt)类似。 root@Easy-link:~# cat /proc/uptime 67.23 19.08 char...
  • jinchengzhou
  • jinchengzhou
  • 2015年06月26日 17:31
  • 1536

Python用subprocess的Popen来调用系统命令

当我们需要调用系统的命令的时候,最先考虑的os模块。用os.system()和os.popen()来进行操作。但是这两个命令过于简单,不能完成一些复杂的操作,如给运行的命令提供输入或者读取命令的输出,...
  • linda1000
  • linda1000
  • 2013年12月26日 10:20
  • 8035

嵌入式 FTP断点续传原理以及实现指定下载文件起始地址

1、主要这货决定了告诉ftp服务器,我想从文件的什么位置下载: printf("%s:[%d] restval is %d\n",__FUNCTION__,__LINE__,(int)restval...
  • skdkjxy
  • skdkjxy
  • 2014年09月06日 20:47
  • 1172

Linux下C语言使用popen获取一个文件的内容小实例

#include #include #include #include void printpwd(struct passwd *pwd) { printf("name:%s\n", pw...
  • chuangjinweilai
  • chuangjinweilai
  • 2016年07月07日 13:36
  • 522

嵌入式 获取指定网卡在路由表中的网关以及源地址和目的地址

承诺没有内存泄漏以及sockfd未关闭等bug,如f
  • skdkjxy
  • skdkjxy
  • 2014年08月15日 17:04
  • 1032

豹哥嵌入式讲堂:ARM Cortex-M开发之文件详解(1)- 源文件(.c/.h/.s)

众所周知,嵌入式开发属于偏底层的开发,主要编程语言是C和汇编。所以本文要讲的source文件主要指的就是c文件和汇编文件。尽管在平常开发中,我们都只会关注自己创建的.c/.h/.s源文件,但实际上我们...
  • Henjay724
  • Henjay724
  • 2018年01月13日 19:50
  • 16

Python + C/C++ 嵌入式编程(1):多维数组Numpy.Array()在Python和C/C++文件间的传递问题

Python + C/C++ 嵌入式编程(1):多维数组Numpy.Array()在Python和C/C++文件间的传递问题 Python 提供了丰富的 C API 函数,我们使用这些 C API ...
  • stu_csdn
  • stu_csdn
  • 2017年04月06日 23:23
  • 4625

多种嵌入式文件系统移植集合

1. 嵌入式存储系统 1.1. 计算机组成原理 从冯.诺依曼的存储程序工作原理及计算机的组成来说,计算机由运算器、控制器、存储器和输入/输出设备五大部件组成。其中运算器和控制器统称为中央处理器(CPU...
  • sonbai
  • sonbai
  • 2013年06月01日 21:23
  • 9773

嵌入式 CRAMFS + YAFFS2文件系统的制作和注意事项

原文:http://blog.chinaunix.net/uid/20759926/frmd/75680.html 如何制作CRAMFS + YAFFS2文件系统 1.文件系统简述  随着32位C...
  • skdkjxy
  • skdkjxy
  • 2013年12月02日 14:38
  • 738
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:嵌入式 popen获取文件中指定变量的值
举报原因:
原因补充:

(最多只允许输入30个字)