设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
编程开发讨论区 —— LinuxSir.cn
›
C\C++
›
有没有好的方法 将 system(shell命令) 输出结果赋值给 ...
1
2
/ 2 页
下一页
返回列表
查看:
2499
|
回复:
10
有没有好的方法 将 system(shell命令) 输出结果赋值给c语言中的某个变量呢?
[复制链接]
BOoRFGOnZ
BOoRFGOnZ
当前离线
积分
105
IP卡
狗仔卡
发表于 2006-2-2 21:24:48
|
显示全部楼层
|
阅读模式
rt
有没有好的方法 将 system(shell命令) 输出结果赋值给c语言中的某个变量呢?
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
biinn
biinn
当前离线
积分
1375
IP卡
狗仔卡
发表于 2006-2-2 23:00:35
|
显示全部楼层
用管道: shellcommand | cprogram
shell 的输出就会传给 c 程序,在 c 程序中将 argv[] 参数过滤后传给变量。
我不是专业程序员,不知道这是不是一个好办法。如果说的不对,尽管拍。
回复
支持
反对
使用道具
举报
显身卡
wide288
wide288
当前离线
积分
2736
IP卡
狗仔卡
发表于 2006-2-3 01:00:07
|
显示全部楼层
如果你想用的 shellcommand 程序不大,就自己
写一个吧。直接调用就好了。
回复
支持
反对
使用道具
举报
显身卡
BOoRFGOnZ
BOoRFGOnZ
当前离线
积分
105
IP卡
狗仔卡
楼主
|
发表于 2006-2-3 10:23:06
|
显示全部楼层
怎么 直接调用? 详细点 谢谢
回复
支持
反对
使用道具
举报
显身卡
MatthewGong
MatthewGong
当前离线
积分
311
IP卡
狗仔卡
发表于 2006-2-3 12:42:06
|
显示全部楼层
第一种方法: system命令输出到文件,然后主程序读取文件。
第二种方法: 使用有名管道。可以接合以下两篇文章:
http://opensource.nchc.org.tw/in ... re/ext2fs-pipe.html
http://www-128.ibm.com/developer ... pc/part1/index.html
1.主程序建立有名管道,
2.system输出到此管道(异步执行)
3.主程序读取管道,
4. 主程序销毁有名管道。
其中可能涉及到IO堵塞,时序,同步、异步等问题,我没有仔细考虑过。
回复
支持
反对
使用道具
举报
显身卡
BOoRFGOnZ
BOoRFGOnZ
当前离线
积分
105
IP卡
狗仔卡
楼主
|
发表于 2006-2-3 15:38:32
|
显示全部楼层
第一种放有 偶用类似的实现了。。不过效果不佳。 容易都到”乱码“ 用另写的函数去掉了。。
第二种有点麻烦 正在研究。。
看来 写个 读取不规则的配置文件的程序 有点麻烦。。
回复
支持
反对
使用道具
举报
显身卡
wide288
wide288
当前离线
积分
2736
IP卡
狗仔卡
发表于 2006-2-3 22:46:50
|
显示全部楼层
就是自己重写个函数啊。
直接调用就成了。
一般的程序都是有代码可看的啊。
回复
支持
反对
使用道具
举报
显身卡
daniel_zhy
daniel_zhy
当前离线
积分
10
IP卡
狗仔卡
发表于 2006-2-4 10:09:31
|
显示全部楼层
用环境变量.
例如:
export MY_DATE=`date`
在c中:
#include <stdio.h>
int main(){
char* date=getenv("MY_DATE");
printf("MY_DATE=%s",date);
return 0;
}
*千万别把简单问题复杂化了.
回复
支持
反对
使用道具
举报
显身卡
BOoRFGOnZ
BOoRFGOnZ
当前离线
积分
105
IP卡
狗仔卡
楼主
|
发表于 2006-2-4 17:09:19
|
显示全部楼层
daniel_zhy 方法 简单
谢谢
getenv() 偶记住了
回复
支持
反对
使用道具
举报
显身卡
jszhang3
jszhang3
当前离线
积分
29
IP卡
狗仔卡
发表于 2006-2-5 09:53:10
|
显示全部楼层
please man popen
回复
支持
反对
使用道具
举报
显身卡
下一页 »
1
2
/ 2 页
下一页
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表