最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言中操作utmp文件的相關(guān)函數(shù)用法

 更新時間:2015年08月28日 16:08:08   投稿:goldensun  
這篇文章主要介紹了C語言中操作utmp文件的相關(guān)函數(shù)用法,包括getutent()函數(shù)和setutent()函數(shù)以及endutent()函數(shù),需要的朋友可以參考下

C語言getutent()函數(shù):從utmp文件中取得賬號登錄數(shù)據(jù)
頭文件:

#include <utmp.h>

定義函數(shù):

struct utmp *getutent(void);

函數(shù)說明:getutent()用來從utmp 文件(/var/run/utmp)中讀取一項登錄數(shù)據(jù), 該數(shù)據(jù)以utmp 結(jié)構(gòu)返回. 第一次調(diào)用時會取得第一位用戶數(shù)據(jù), 之后每調(diào)用一次就會返回下一項數(shù)據(jù), 直到已無任何數(shù)據(jù)時返回NULL。

utmp 結(jié)構(gòu)定義如下:

struct utmp
{
  short int ut_type; //登錄類型
  pid_t ut_pid; //login 進(jìn)程的pid
  char ut_line[UT_LINESIZE]; //登錄裝置名, 省略了"/dev/"
  char ut_id[4]; //Inittab ID
  char ut_user[UT_NAMESIZE]; //登錄賬號
  char ut_host[UT_HOSTSIZE]; //登錄賬號的遠(yuǎn)程主機(jī)名稱
  struxt exit_status ut_exit; //當(dāng)類型為DEAD_PROCESS 時進(jìn)程的結(jié)束狀態(tài)
  long int ut_session; //Sessioc ID
  struct timeval ut_tv; //時間記錄
  int32_t ut_addr_v6[4]; //遠(yuǎn)程主機(jī)的網(wǎng)絡(luò)地址
  char __unused[20]; //保留未使用
};

ut_type 有以下幾種類型:

  • EMPTY:此為空的記錄.
  • RUN_LVL:記錄系統(tǒng)run-level 的改變
  • BOOT_TIME:記錄系統(tǒng)開機(jī)時間
  • NEW_TIME:記錄系統(tǒng)時間改變后的時間
  • OLD_TINE:記錄當(dāng)改變系統(tǒng)時間時的時間.
  • INIT_PROCESS:記錄一個由init 衍生出來的進(jìn)程.
  • LOGIN_PROCESS:記錄 login 進(jìn)程.
  • USER_PROCESS:記錄一般進(jìn)程.
  • DEAD_PROCESS:記錄一結(jié)束的進(jìn)程.
  • ACCOUNTING:目前尚未使用.

exit_status 結(jié)構(gòu)定義:

struct exit_status
{
  short int e_termination; //進(jìn)程結(jié)束狀態(tài)
  short int e_exit; //進(jìn)程退出狀態(tài)
};

timeval 的結(jié)構(gòu)定義請參考gettimeofday()。

相關(guān)常數(shù)定義如下:

  • UT_LINESIZE 32
  • UT_NAMESIZE 32
  • UT_HOSTSIZE 256

返回值:返回 utmp 結(jié)構(gòu)數(shù)據(jù), 如果返回NULL 則表示已無數(shù)據(jù), 或有錯誤發(fā)生.

附加說明:getutent()在第一次調(diào)用時會打開utmp 文件, 讀取數(shù)據(jù)完畢后可使用endutent()來關(guān)閉該utmp文件.

范例

#include <utmp.h>
main()
{
  struct utmp *u;
  while((u = getutent()))
  {
    if(u->ut_type == USER_PROCESS)
      printf("%d %s %s %s \n", u->ut_type, u->ut_user, u->ut_line, u->ut_host);
  }
  endutent();
}

執(zhí)行
//表示有三個root 賬號分別登錄/dev/pts/0, /dev/pts/1, /dev/pts/2
7 root pts/0
7 root pts/1
7 root pts/2

C語言setutent()函數(shù):從頭讀取utmp文件中的登錄數(shù)據(jù)
頭文件:

#include <utmp.h>

定義函數(shù):

void setutent(void);

函數(shù)說明:setutent()用來將getutent()的讀寫地址指回utmp 文件開頭。

C語言endutent()函數(shù):關(guān)閉文件(關(guān)閉utmp文件)
頭文件:

#include <utmp.h>

定義函數(shù):

void endutent(void);

函數(shù)說明:endutent()用來關(guān)閉由getutent 所打開的utmp 文件。

范例:請參考getutent().

相關(guān)文章

  • 深入C++中構(gòu)造函數(shù)、拷貝構(gòu)造函數(shù)、賦值操作符、析構(gòu)函數(shù)的調(diào)用過程總結(jié)

    深入C++中構(gòu)造函數(shù)、拷貝構(gòu)造函數(shù)、賦值操作符、析構(gòu)函數(shù)的調(diào)用過程總結(jié)

    本篇文章是對C++中構(gòu)造函數(shù)、拷貝構(gòu)造函數(shù)、賦值操作符、析構(gòu)函數(shù)的調(diào)用過程進(jìn)行了總結(jié)與分析,需要的朋友參考下
    2013-05-05
  • C語言中隨機(jī)數(shù)rand()函數(shù)詳解

    C語言中隨機(jī)數(shù)rand()函數(shù)詳解

    大家好,本篇文章主要講的是C語言中隨機(jī)數(shù)rand()函數(shù)詳解,感興趣的同學(xué)感快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • C語言實現(xiàn)實時鐘表

    C語言實現(xiàn)實時鐘表

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)實時鐘表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 構(gòu)造函數(shù)定義為private或者protected的好處

    構(gòu)造函數(shù)定義為private或者protected的好處

    從語法上來講,一個函數(shù)被聲明為protected或者private,那么這個函數(shù)就不能從“外部”直接被調(diào)用了。對于protected的函數(shù),子類的“內(nèi)部”的其他函數(shù)可以調(diào)用之。而對于private的函數(shù),只能被本類“內(nèi)部”的其他函數(shù)說調(diào)用
    2013-10-10
  • C++中的for-each循環(huán)使用

    C++中的for-each循環(huán)使用

    范圍循環(huán)是C++11引入的特性,用于簡化數(shù)組和容器的遍歷過程,它通過直接操作元素而不是使用索引或迭代器,范圍循環(huán)可以使用引用或const修飾符來控制元素的修改權(quán)限,適用于所有支持begin()和end()方法的容器,該循環(huán)方式不適用于未提供這些方法的C++98/03容器
    2024-09-09
  • C語言的Struct Hack筆記

    C語言的Struct Hack筆記

    這篇文章主要介紹了C語言的Struct Hack例子,個人的一篇筆記,需要的朋友可以參考下吧
    2014-04-04
  • C++基于控制臺實現(xiàn)的貪吃蛇小游戲

    C++基于控制臺實現(xiàn)的貪吃蛇小游戲

    這篇文章主要介紹了C++基于控制臺實現(xiàn)的貪吃蛇小游戲,實例分析了貪吃蛇游戲的原理與C++實現(xiàn)技巧,是非常經(jīng)典的游戲算法,需要的朋友可以參考下
    2015-04-04
  • C++如何動態(tài)的生成對象詳解

    C++如何動態(tài)的生成對象詳解

    C++是不支持根據(jù)類名動態(tài)地生成對象的,比如從一個文本文件中讀取類名然后構(gòu)造一個對象.主要原因是沒有豐富的動態(tài)元信息,沒有單根類庫。那么下面這篇文章就來給大家介紹C++是如何動態(tài)的生成對象,有需要的朋友們可以參考借鑒。
    2017-02-02
  • C++判斷pe文件實例

    C++判斷pe文件實例

    這篇文章主要介紹了C++判斷pe文件的方法,包含了文件操作的具體實現(xiàn)方法,具有很好的參考借鑒價值,需要的朋友可以參考下
    2014-10-10
  • C語言實現(xiàn)的猜數(shù)字小游戲

    C語言實現(xiàn)的猜數(shù)字小游戲

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)的猜數(shù)字小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01

最新評論

句容市| 武定县| 原阳县| 江西省| 云南省| 延寿县| 宝兴县| 文成县| 丰都县| 六安市| 克拉玛依市| 靖西县| 玉溪市| 湟中县| 昌黎县| 诸暨市| 东乡县| 安西县| 广东省| 盐亭县| 盈江县| 浦城县| 工布江达县| 六安市| 墨江| 达日县| 宁安市| 灌南县| 偏关县| 涞源县| 凤翔县| 扶沟县| 积石山| 定日县| 礼泉县| 深泽县| 屯昌县| 正蓝旗| 项城市| 民乐县| 简阳市|