[英]Get result of command-line in C program
有沒有辦法在C程序中讀取命令行的結果?
例如,如果我在C程序中有以下代碼
sprintf(command, "cat input_file.txt | wc -l");
system(command);
如何獲得wc -l
的結果並將其存儲在變量中,以便可以在同一C程序中使用它?
是的,如果有,請查看popen()
。
通常,您必須生成一個子流程並設置一個管道以讀取其標准輸出。
你可以做
喜歡
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num_line;
char *command="cat input_file.txt | wc -l";
FILE *p=popen(command,"r");
fscanf(p,"%d",&num_line);
printf("%d\n",num_line);
pclose(p);
return 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.