archy, а доку хорошо читал?
в описании, чего возвращает функция popen, четко ж написано:
Returns a file pointer identical to that returned by fopen(), except that it is unidirectional (may only be used for reading or writing)...
дословно: возвращает дескриптор файла, аналогично fopen(), за исключением того, что этот дескриптор "однонаправленный"
{ ВНИМАНИЕ! дальше объясняется, что означает "однонаправленный"
}
(может быть использован только для чтения ИЛИ только для записи)
...
и что ж ты от нее болезной хочешь?
ну, не умеет она ЭТО, не умеет