ページ 11

topコマンド後の構造体への保存

Posted: 2010年1月31日(日) 04:00
by FullMoon
こんにちは。

質問なんですがtopコマンドを用いることによって
ロードアベレージやプロセスの状態を確認できると思うのですが
各数値をC言語で構造体の中へ保存がしたいのですが
どういった方法があるでしょうか?

struct node_data{
int average1;1分前のロードアベレージ
int average5;5分前のロードアベレージ
int average15;15分前のロードアベレージ
};
みたいな感じです。
ようは数字をだけを構造体の中の変数にどんどん詰め込めばいいと思うのですが・・・
よろしければ参考のソースコードもあると幸いです。

Re:topコマンド後の構造体への保存

Posted: 2010年1月31日(日) 06:30
by Ma
|=========================
|========== 【警告】 ==========
| 
|   あなたは規約違反を犯しています。
|
|  規約を必ず読んでから投稿してください。
|    マルチポストは、違反です。
| 解答を得るには、他所でのポストを消してください。
|
|========== 【警告】 ==========
|=========================


ちょっとがんばってみた(苦笑) 画像

Re:topコマンド後の構造体への保存

Posted: 2010年1月31日(日) 06:49
by FullMoon
大変失礼しました

Re:topコマンド後の構造体への保存

Posted: 2010年1月31日(日) 07:18
by Ma
C++しか知らないので回答にならないかもしれません、まず、それはすいません。
(それから、topコマンドとかサーバーについては詳しくありません。)

質問内容は、つまり可変長のデータの保存方法、ということでしょうか?

C++なら
std::vector
とか、可変のデータ量を保存するなら標準ライブラリを活用するのが(私にとって)一番簡単。
http://www.geocities.jp/ky_webid/cpp/library/002.html

それ以外なら、new を使って保存してます。サイズが足りなくなったら随時 新しく new するとか。


C言語なら、malloc とか活用するとよさそうです。
http://seclan.dll.jp/c99d/c99d04.htm
http://detail.chiebukuro.yahoo.co.jp/qa ... 1433263519

Re:topコマンド後の構造体への保存

Posted: 2010年1月31日(日) 20:15
by dic
こういう方法があります
#include    <stdio.h>

struct node_data{ 
   int average1;//1分前のロードアベレージ 
   int average5;//5分前のロードアベレージ 
   int average15;//15分前のロードアベレージ 
}; 

int    main()
{
    struct node_data    data[100];
    struct node_data    buf;

    buf.average1 = 1;
    buf.average5 = 5;
    buf.average15 = 15;

    data[0] = buf;

    return 0;
}