1、linux
中,sysinfo是用來獲取系統相關資訊的結構體。
函式宣告和原型:
2、結構體資訊int sysinfo(struct sysinfo *info);
返回值:操作成功返回
0,錯誤返回-1;
:在linux 2.3.16中,結構體的資訊是(單位是位元組):
struct sysinfo ;
在linux 2.3.23(i386), 2.3.48 (all architectures)中,結構體的資訊是(單位是mem_unit位元組):
struct sysinfo ;
樣例1:
#include
#include /*
包含呼叫_syscallx 巨集等相關資訊*/
#include /* 包含sysinfo結構體資訊*/
_syscall1(int, sysinfo, struct sysinfo*, info);
//using namespace std;
int main(int argc, char *agrv)
/*輸出結果:
/home/chenhd/future> ./sysinfo_1
code error=0
uptime = 154s
load: 1 min22976 / 5 min 13888 / 15 min 5408
ram: total 128307200 / free 55656448 /shared263168000
memory in buffers = 263168000
swap:total50/free1073821804
number of processes = 1073823352
/home/chenhd/future>
*/樣例
2:計算系統啟動時間的方法
#include
#include
struct sysinfo s_info;
long uptime;
int d,h,m,s;
int main()
return -1; }
執行結果:
$ gcc -o uptime uptime.c
$ ./uptime
d=19:h=0:m=4:s=52
snprintf 函式使用方法
眾所周知,sprintf不能檢查目標字串的長度,可能造成眾多安全問題,所以都會推薦使用snprintf.intsnprintf char str,size t size,constchar format,函式說明 最多從源串中拷貝size 1個字元到目標串中,然後再在後面加乙個0。所以如果目標串的大...
select 函式使用方法
select在socket程式設計中還是比較重要的,可是對於初學socket的人來說都不太愛用select寫程式,他們只是習慣寫諸如 connect accept recv或recvfrom這樣的阻塞程式 所謂阻塞方式block,顧名思義,就是程序或是執行緒執行到這些函式時必須等 待某個事件的發生,...
memset函式使用方法
需要的標頭檔案 在c中 在c 中 1.void memset void s,int c,size t n 總的作用 將已開闢記憶體空間 s 的首 n 個位元組的值設為值 c。2。例子 void main 3。memset 函式常用於記憶體空間初始化。如 char str 100 memset str...