在C语言中,可以使用标准库函数popen()来给以前用system()调用的程序提供输入。popen()函数可以打开一个管道,将另一个程序作为子进程执行,并且可以通过管道向子进程提供输入。
下面是使用popen()函数给以前用system()调用的程序提供输入的示例代码:
#include <stdio.h>
int main() {
FILE *fp;
char buffer[1024];
// 打开管道,执行以前用system()调用的程序
fp = popen("your_program", "w");
if (fp == NULL) {
printf("Error opening pipe!\n");
return -1;
}
// 向子进程提供输入
fprintf(fp, "input_data\n");
// 关闭管道
pclose(fp);
return 0;
}
在上面的示例代码中,你需要将"your_program"替换为你以前用system()调用的程序的路径或命令。然后,使用fprintf()函数向子进程提供输入数据。最后,使用pclose()函数关闭管道。
这种方法可以在C语言中给以前用system()调用的程序提供输入,实现程序间的数据交互。
领取专属 10元无门槛券
手把手带您无忧上云