Zum Inhalt springen

_popen, offnen einer Pipe und schreiben in die Standardeingabe


Empfohlene BeitrÀge

Geschrieben

Hallo Leutz :-))

kriege es nicht hin diese Pipe aufzubauen. Wenn ich nur ein Dir Befehl durch die Pipe schicken möchte und mich an die vorgegebene Syntax halte, baut er nicht einmal die Pipe auf um das Dir durchzusenden. Muss irgendwas falsch machen, vielleicht was ĂŒbersehen. Wer kann mir helfen???

Geschrieben

Code posten, ok :cool: , hab das Beispiel aus der Borland Hilfe ĂŒbernommen

FILE* handle; // Behandelt das eine Ende der pipe

char message[256]; // Puffer fĂŒr Text, der durch die Pipe geschickt wird

int status; // FunktionsrĂŒckgabewert

handle = _popen("dir /b", "wt");

if (handle == NULL)

{

perror("_popen error");

exit(0);

}

// Liest und leitet die Eingabe weiter, die vom untergeordneten Prozeß empfangen wurde

while (fgets(message, sizeof(message), handle))

{

fprintf(stdout, message);

}

// Schließt die Pipe und prĂŒft den Status fĂŒr die RĂŒckgabe

status = _pclose(handle);

if (status == -1)

{

perror("_pclose error");

}

Geschrieben

Hi,

also folgendes Beispiel aus der MSDN Library funktioniert:


#include <stdio.h>
#include <stdlib.h>

void main( void )
{

char psBuffer[128];
FILE *chkdsk;

/* Run DIR so that it writes its output to a pipe. Open this
* pipe with read text attribute so that we can read it
* like a text file.
*/
if( (chkdsk = _popen( "dir *.c /on /p", "rt" )) == NULL )
exit( 1 );

/* Read pipe until end of file. End of file indicates that
* CHKDSK closed its standard out (probably meaning it
* terminated).
*/
while( !feof( chkdsk ) )
{
if( fgets( psBuffer, 128, chkdsk ) != NULL )
printf( psBuffer );
}

/* Close pipe and print return value of CHKDSK. */
printf( "\nProcess returned %d\n", _pclose( chkdsk ) );
}
[/PHP]

EDIT:

handle = _popen("dir /b", "rt");

Dein Beispiel lĂ€uft bei mir ĂŒbrigens auch egal ob "rt", oder "wt". Es

muß also an etwas anderem liegen.

Gruß

Guybrush

Geschrieben

Ich programmiere eine grafische OberflĂ€che fĂŒr ein bestehendes Programm, welches ich ansteuern möchte. Das Programm ist eine Konsolenanwendung...

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto fĂŒr unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die grĂ¶ĂŸte IT-Community
rund um Ausbildung, Job, Weiterbildung fĂŒr IT-FachkrĂ€fte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard fĂŒr Fachinformatiker und IT-FachkrĂ€fte

×
×
  • Neu erstellen...