当前位置: 技术问答>linux和unix
如何用C程序,或shell命令向控制台输入?谢谢。
来源: 互联网 发布时间:2015-12-23
本文导语: 比如:有一个等待交互的命令,让用户选:1、2、3; 如何用C程序,或shell命令向控制台输入,而不是键盘输入,谢谢。 | for(;;) { printf("n 1. display sysPara"); ...
比如:有一个等待交互的命令,让用户选:1、2、3;
如何用C程序,或shell命令向控制台输入,而不是键盘输入,谢谢。
如何用C程序,或shell命令向控制台输入,而不是键盘输入,谢谢。
|
for(;;) {
printf("n 1. display sysPara");
printf("n 2. display masterPort Para");
printf("n 3. display meterPort Para");
printf("n 4. display meter Para");
printf("n 5. display masterPort TXRX data");
printf("n 6. display meterPort TXRX data");
printf("n q. quit");
printf("n Please input your choice[1-6, q]:");
}
gets(chstr);
if(strcmp(chstr,"q")==0 || strcmp(chstr,"Q")==0){
printf("n");
live_flag =0;
//delay_t(2000000);
//DestroyThread(pid);
break;
}
else if(strcmp(chstr,"1")==0) disp_SysPara();
else if(strcmp(chstr,"2")==0) disp_MasterPort();
else if(strcmp(chstr,"3")==0) disp_MeterPort();
else if(strcmp(chstr,"4")==0) disp_MeterPara();
else if(strcmp(chstr,"5")==0) disp_MasterPortComm();
else if(strcmp(chstr,"6")==0) disp_MeterPortComm();
}
printf("n 1. display sysPara");
printf("n 2. display masterPort Para");
printf("n 3. display meterPort Para");
printf("n 4. display meter Para");
printf("n 5. display masterPort TXRX data");
printf("n 6. display meterPort TXRX data");
printf("n q. quit");
printf("n Please input your choice[1-6, q]:");
}
gets(chstr);
if(strcmp(chstr,"q")==0 || strcmp(chstr,"Q")==0){
printf("n");
live_flag =0;
//delay_t(2000000);
//DestroyThread(pid);
break;
}
else if(strcmp(chstr,"1")==0) disp_SysPara();
else if(strcmp(chstr,"2")==0) disp_MasterPort();
else if(strcmp(chstr,"3")==0) disp_MeterPort();
else if(strcmp(chstr,"4")==0) disp_MeterPara();
else if(strcmp(chstr,"5")==0) disp_MasterPortComm();
else if(strcmp(chstr,"6")==0) disp_MeterPortComm();
}
|
看看管道是否可以,用popen打开一个程序文件,用read和write可以与之交互。
shell的话,可以看看expect命令,网上有很多资料,比如用expect可以实现自动ftp
shell的话,可以看看expect命令,网上有很多资料,比如用expect可以实现自动ftp
|
使用参数, getopt C API
NAME
getopt - parse command options
NAME
getopt - parse command options
|
fp=fopen("/dev/stdin");
write(fp);
write(fp);
|
监听标准输入,用stdin做为中介。
|
读标准输入阿
|
楼主,请先看看popen和expect,我觉得应该对你有帮助。