Hola!
"Creo" que entiendo tu pregunta jajaja!
El problema es que debiste ser un poco más específico ya que tengo preguntas sobre tu pregunta jaja.
La que más me inquieta en este momento es : ¿Tu programa en C++ sabe a priori que datos debe ingresarle al programa compilado y ejecutado echo en C, o tiene que "deducirlo" de alguna manera?
Salvando esa duda, lo que vos necesitas es manejar
PIPEs (en castellano "tuberias"), que es una manera de comunicar procesos. Primero deberías leer algo de Comunicación Entre Procesos o IPC (
http://en.wikipedia.org/wiki/Inter-process_communication).
Este es un link de como usar un pipe en C (en C++ es lo mismo):
http://www.gnu.org/software/libc/manual/html_node/Creating-a-Pipe.htmlAdemás, si no estoy muy oxidado con este tema, creo que la función
popen() ya te crea un
pipe de lectura o escritura (según vos le indiques) al nuevo proceso, pasate por la página del manual de la función (
http://linux.die.net/man/3/popen) para estar más seguro.
Trata de leer y escribir algo de código, si no te funciona pasate por acá así le echamos un ojo entre todos, dale?
Suerte con eso!
Saludos.