Ich versuche Speicherinformationen in eine Zeichenfolge in c zu lesen, und ich habe ein bisschen Probleme. Hier ist, was ich derzeit habe.Datei in Zeichenfolge in C kopieren
FILE * fpipe;
long length;
char * command = "free";
fpipe = (FILE*) popen(command, "r")));
fseek(fpipe, 0, SEEK_END);
length = ftell(fpipe);
fseek(fpipe, 0, SEEK_SET);
bufer = (char*) malloc(length);
char line[128];
if(fpipe)
{
while(fgets(line, sizeof line, fpipe))
{
strcat(buffer, line);
}
}
Ich bin in der Lage, Zeile zu drucken, aber nicht zu Puffer hinzufügen. Vielen Dank im Voraus für die Hilfe.
Ich denke 'char * line [128];' sollte 'char Linie sein [128];' –
Sie richtig sind, habe ich es falsch von meinem Code. Jetzt bearbeitet. – chrisz
Was meinen Sie mit "nicht zu Puffer hinzufügen"? Wie hast du * 'buffer' erstellt, zugewiesen und * initialisiert? Woher weißt du, wie lang die Daten sind, die du gelesen hast? Sie können nicht von einer Pfeife suchen (was 'popen' hinter den Kulissen verwendet). Können Sie bitte versuchen, ein [minimales, vollständiges und verifizierbares Beispiel] (http://stackoverflow.com/help/mcve) zu erstellen und uns zu zeigen? –