标签:pen pop size str 实现 linu error: file sizeof
在项目里用system(),然后发现调用失败,返回值为-1,感觉这个函数有点不靠谱。决定用popen()来替代system().具体参考了http://blog.sina.com.cn/s/blog_8043547601017qk0.html
具体实现如下,具体分析等有空再加上
int my_system(const char * cmd) { FILE * fp; int res; char buf[1024]; if (cmd == NULL) { printf("my_system cmd is NULL!\n"); return -1; } if ((fp = popen(cmd, "r") ) == NULL) { perror("popen"); printf("popen error: %s/n", strerror(errno)); return -1; } else { while(fgets(buf, sizeof(buf), fp)) { printf("%s", buf); } if ( (res = pclose(fp)) == -1) { printf("close popen file pointer fp error!\n"); return res; } else if (res == 0) { return res; } else { printf("popen res is :%d\n", res); return res; } } }
标签:pen pop size str 实现 linu error: file sizeof
原文地址:http://www.cnblogs.com/new-ass/p/7307214.html