Kann Jemand mir Erklären popen() mit write-Modus

Hier möchte ich Ausführen, einem Befehl und ich gebe zu, diesen Befehl nach der Ausführung der ersten ein.

möchte ich ausführen obex_test Befehl für den bluetooth-Modus
als nach ich zu geben habe-input wie 's' für Start-server also wie kann ich das Ding.
hier ist mein code, den ich Schreibe diese Sache und bekam Ausgang. ich erhielt den Fehler des input-Daten nach der Ausführung obex_test Befehl.

Code:

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

void main() {

    char *input = "obex_test -b";   
    FILE *fp = NULL;
    char path[512];


    fp = popen(input, "w");

    if (fp == NULL) 
    {
        printf("\nFailed command\n");
        return;
    }
    else
    {
        printf("\nSuccesss command\n");
    }
    printf("starting while : %d", fp);

    while (fgets(path, sizeof(path) - 1, fp) != NULL) {

        printf("\nOutput    :::  %s \n", path);
    }

    printf("\nEnd\n");
    /* close */
    pclose(fp);

}

Ausgabe :

Successs command
starting while : 69640
End
Using Bluetooth RFCOMM transport
OBEX Interactive test client/server.
> Unknown command
> Unknown command
> Unknown command
> Unknown command
> Unknown command
> Unknown command
> Unknown command
> Unknown command
> Unknown command
> Unknown command
> Unknown command
> Unknown command

Vom Ausgang nach dieser Zeile OBEX Interactive test client/server. ich gebe Zeichen 's', aber ich nicht in der Lage, das zu tun diese direkt Ihren geht endlos-Schleife und printf >Unknown command.

InformationsquelleAutor user1089679 | 2012-01-27
Schreibe einen Kommentar