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

在C語言中對utmp文件進行查找和寫入操作的函數(shù)小結(jié)

 更新時間:2015年08月29日 10:55:08   投稿:goldensun  
這篇文章主要介紹了在C語言中對utmp文件進行查找和寫入操作的函數(shù)小結(jié),包括pututline()函數(shù)和getutline()函數(shù)以及getutid()函數(shù),需要的朋友可以參考下

C語言pututline()函數(shù):將utmp記錄寫入文件
頭文件:

#include <utmp.h>

定義函數(shù):

void pututline(struct utmp *ut);

函數(shù)說明:pututline()用來將參數(shù)ut 的utmp 結(jié)構(gòu)記錄到utmp 文件中. 此函數(shù)會先用getutid()來取得正確的寫入位置, 如果沒有找到相符的記錄則會加入到utmp 文件尾.
附加說明:需要有寫入/var/run/utmp 的權(quán)限

范例

#include <utmp.h>
main()
{
  struct utmp ut;
  ut.ut_type = USER_PROCESS;
  ut.ut_pid = getpid();
  strcpy(ut.ut_user, "kids");
  strcpy(ut.ut_line, "pts/1");
  strcpy(ut.ut_host, "www.gnu.org");
  pututline(&ut);
}

執(zhí)行:

//執(zhí)行范例后用指令who -l 觀察
root pts/0 dec9 19:20
kids pts/1 dec12 10:31(www.gnu.org)
root pts/2 dec12 13:33

C語言getutline()函數(shù):文件查找函數(shù)(從utmp文件中查找特定的)
頭文件:

#include <utmp.h>

定義函數(shù):

struct utmp * getutline(struct utmp *ut);

函數(shù)說明:getutline()用來從目前utmp 文件的讀寫位置逐一往后搜索ut_type 為USER_PROCESS 或LOGIN_PROCESS 的記錄, 而且ut_line 和ut->ut_line 相符. 找到相符的記錄便將該數(shù)據(jù)以utmp 結(jié)構(gòu)返回。

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

范例

#include <utmp.h>
main()
{
  struct utmp ut, *u;
  strcpy(ut.ut_line, "pts/1");
  while((u = getutline(&ut)))
  {
    printf("%d %s %s %s \n", u->ut_type, u->ut_user, u->ut_line, u->ut_host);
  }
}

執(zhí)行:

7 root pts/1

C語言getutid()函數(shù):從utmp文件中查找特定的記錄
頭文件:

#include <utmp.h>

定義函數(shù):

strcut utmp *getutid(strcut utmp *ut);

函數(shù)說明:
getutid()用來從目前utmp 文件的讀寫位置逐一往后搜索參數(shù)ut 指定的記錄。
1、如果ut->ut_type 為RUN_LVL, BOOT_TIME, NEW_TIME, OLD_TIME 其中之一則查找與ut->ut_type 相符的記錄;
2、若ut->ut_type為INIT_PROCESS, LOGIN_PROCESS, USER_PROCESS 或DEAD_PROCESS 其中之一, 則查找與ut->ut_id相符的記錄. 找到相符的記錄便將該數(shù)據(jù)以utmp 結(jié)構(gòu)返回.

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

范例

#include <utmp.h>
main()
{
  struct utmp ut, *u;
  ut.ut_type=RUN_LVL;
  while((u = getutid(&ut)))
  {
    printf("%d %s %s %s\n", u->ut_type, u->ut_user, u->ut_line, u->ut_host);
  }
}

執(zhí)行:

1 runlevel -

相關(guān)文章

  • Qt實現(xiàn)棋盤游戲

    Qt實現(xiàn)棋盤游戲

    這篇文章主要為大家詳細(xì)介紹了Qt實現(xiàn)棋盤游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C++ 異常處理 catch(...)介紹

    C++ 異常處理 catch(...)介紹

    catch(…)能夠捕獲多種數(shù)據(jù)類型的異常對象,所以它提供給程序員一種對異常 對象更好的控制手段,使開發(fā)的軟件系統(tǒng)有很好的可靠性
    2013-09-09
  • C語言指針和數(shù)組深入探究使用方法

    C語言指針和數(shù)組深入探究使用方法

    在C語言和C++等語言中,數(shù)組元素全為指針變量的數(shù)組稱為指針數(shù)組,指針數(shù)組中的元素都必須具有相同的存儲類型、指向相同數(shù)據(jù)類型的指針變量。指針數(shù)組比較適合用來指向若干個字符串,使字符串處理更加方便、靈活
    2022-08-08
  • C語言數(shù)據(jù)結(jié)構(gòu)樹的雙親表示法實例詳解

    C語言數(shù)據(jù)結(jié)構(gòu)樹的雙親表示法實例詳解

    這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)樹的雙親表示法實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • C語言實現(xiàn)可增容動態(tài)通訊錄詳細(xì)過程

    C語言實現(xiàn)可增容動態(tài)通訊錄詳細(xì)過程

    這篇文章主要為大家介紹了C語言實現(xiàn)簡易通訊錄的完整流程,此通訊錄還可以增容,并且每個環(huán)節(jié)都有完整代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-05-05
  • VC++實現(xiàn)輸出GIF到窗體并顯示GIF動畫的方法

    VC++實現(xiàn)輸出GIF到窗體并顯示GIF動畫的方法

    這篇文章主要介紹了VC++實現(xiàn)輸出GIF到窗體并顯示GIF動畫的方法,需要的朋友可以參考下
    2014-07-07
  • 基于QT實現(xiàn)顯示OpenCV讀取的圖片

    基于QT實現(xiàn)顯示OpenCV讀取的圖片

    OpenCV自帶了一部分常用的GUI功能,但是更多的圖像處理功能需要其他GUI框架來輔助實現(xiàn),本文將通過QT來顯示OpenCV讀取的圖片,需要的可以參考一下
    2022-11-11
  • C++ push方法與push_back方法的使用與區(qū)別

    C++ push方法與push_back方法的使用與區(qū)別

    這篇文章主要介紹了C++ push方法與push_back方法的使用與區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 淺談c++的編譯和運行

    淺談c++的編譯和運行

    下面小編就為大家?guī)硪黄獪\談c++的編譯和運行。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • VC實現(xiàn)五子棋游戲的一個算法示例

    VC實現(xiàn)五子棋游戲的一個算法示例

    這篇文章主要介紹了VC實現(xiàn)五子棋游戲的一個算法示例,對于學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法的朋友有一定的借鑒價值,需要的朋友可以參考下
    2014-08-08

最新評論

新绛县| 太湖县| 方城县| 铜梁县| 彭山县| 威信县| 灵武市| 河曲县| 天全县| 龙州县| 柳江县| 泰兴市| 陵水| 易门县| 驻马店市| 青龙| 荔波县| 平和县| 新竹县| 攀枝花市| 兖州市| 茌平县| 潢川县| 乌拉特后旗| 信宜市| 巨鹿县| 巴东县| 丽江市| 五常市| 儋州市| 精河县| 西乌| 房山区| 阳谷县| 登封市| 呼图壁县| 庆元县| 台山市| 仁布县| 彭山县| 凭祥市|