[#subprocess-input-2constructor-0b]
= xref:subprocess.adoc[subprocess]::xref:subprocess/input.adoc[input]::input
:relfileprefix: ../../
:mrdocs:

Constructors

== Synopses

Declared in `&lt;util&sol;subprocess&period;h&gt;`

Sets up a pipe as the child&apos;s input channel&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
explicit
xref:subprocess/input/2constructor-02.adoc[input](xref:subprocess/IOTYPE.adoc[IOTYPE] typ);
----

[.small]#xref:subprocess/input/2constructor-02.adoc[_» more&period;&period;&period;_]#

Uses an already open file descriptor as the child&apos;s input&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
explicit
xref:subprocess/input/2constructor-05.adoc[input](int fd);
----

[.small]#xref:subprocess/input/2constructor-05.adoc[_» more&period;&period;&period;_]#

Uses the descriptor of an open FILE stream as the child&apos;s input&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
explicit
xref:subprocess/input/2constructor-09.adoc[input](FILE* fp);
----

[.small]#xref:subprocess/input/2constructor-09.adoc[_» more&period;&period;&period;_]#

Opens a file for reading and uses it as the child&apos;s input&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
explicit
xref:subprocess/input/2constructor-0f.adoc[input](char const* filename);
----

[.small]#xref:subprocess/input/2constructor-0f.adoc[_» more&period;&period;&period;_]#

== Parameters

[cols="1,4"]
|===
| Name| Description
| *typ*
| Channel type, which must be PIPE&period;
| *fd*
| Readable file descriptor to feed to the child&period;
| *fp*
| Open FILE stream whose descriptor is used&period;
| *filename*
| Path of the file to open read&hyphen;only&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
