メモリ情報をC言語の文字列に読み込もうとしていますが、少し問題があります。ここに私が現在持っているものがあります。ファイルをC言語の文字列にコピー
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);
}
}
私は行を印刷できますが、バッファには追加できません。助けを前にありがとう。
私は 'のchar *ライン[128]だと思う;' 'char型のライン[128]でなければなりません;' –
あなたが正しい、私は自分のコードから、誤ってそれを書きました。今編集されました。 – chrisz
「バッファに追加しない」とはどういう意味ですか?あなたはどのようにして 'buffer 'を作り、割り当てて*初期化しましたか?あなたが読んだデータの長さのサイズをどうやって知っていますか?あなたはパイプからシークできません(これは 'popen'がシーンの裏で使うものです)。あなたは、[最小、完全で、かつ実証可能な例](http://stackoverflow.com/help/mcve)を作成して私たちを見せてください。 –