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

C語言編程中從密碼文件獲取數(shù)據(jù)的函數(shù)總結(jié)

 更新時間:2015年08月29日 12:03:15   投稿:goldensun  
這篇文章主要介紹了C語言編程中從密碼文件獲取數(shù)據(jù)的函數(shù)總結(jié),包括getpw()函數(shù)和getpwnam()函數(shù)以及getpwuid()函數(shù),需要的朋友可以參考下

C語言getpw()函數(shù):取得指定用戶的密碼文件數(shù)據(jù)
頭文件:

#include <pwd.h>  #include <sys/types.h>

定義函數(shù):

int getpw(uid_t uid, char *buf);

函數(shù)說明:getpw()會從/etc/passwd中查找符合參數(shù)uid所指定的用戶賬號數(shù)據(jù), 找不到相關(guān)數(shù)據(jù)就返回-1。

所返回的buf 字符串格式如下:
賬號:密碼:用戶識別碼(uid):組識別碼(gid):全名:根目錄:shell

返回值:返回 0 表示成功, 有錯誤發(fā)生時返回-1.

附加說明
1. getpw()會有潛在的安全性問題, 請盡量使用別的函數(shù)取代。
2. 使用shadow 的系統(tǒng)已把用戶密碼抽出/etc/passwd, 因此使用getpw()取得的密碼將為"x"。

范例

#include <pwd.h>
#include <sys/types.h>
main()
{
  char buffer[80];
  getpw(0, buffer);
  printf("%s\n", buffer);
}

執(zhí)行:

root:x:0:0:root:/root:/bin/bash


C語言getpwnam()函數(shù):從密碼文件中取得指定賬號的數(shù)據(jù)
頭文件:

#include <pwd.h>  #include <sys/types.h>

定義函數(shù):

struct passwd * getpwnam(const char * name);

函數(shù)說明:getpwnam()用來逐一搜索參數(shù)name 指定的賬號名稱, 找到時便將該用戶的數(shù)據(jù)以passwd 結(jié)構(gòu)返回。passwd 結(jié)構(gòu)請參考getpwent()。

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

范例

/*取得root 賬號的識別碼和根目錄 */
#include <pwd.h>
#include <sys/types.h>
main()
{
  struct passwd *user;
  user = getpwnam("root");
  printf("name:%s\n", user->pw_name);
  printf("uid:%d\n", user->pw_uid);
  printf("home:%s\n", user->pw_dir);
}

執(zhí)行:

name:root
uid:0
home:/root

C語言getpwuid()函數(shù):從密碼文件中取得指定uid的數(shù)據(jù)
頭文件:

#include <pwd.h>  #include <sys/types.h>

定義函數(shù):

struct passwd * getpwuid(uid_t uid);

函數(shù)說明:getpwuid()用來逐一搜索參數(shù)uid 指定的用戶識別碼, 找到時便將該用戶的數(shù)據(jù)以結(jié)構(gòu)返回結(jié)構(gòu)請參考將該用戶的數(shù)據(jù)以passwd 結(jié)構(gòu)返回. passwd 結(jié)構(gòu)請參考getpwent()。

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

范例

#include <pwd.h>
#include <sys/types.h>
main()
{
  struct passwd *user;
  user= getpwuid(6);
  printf("name:%s\n", user->pw_name);
  printf("uid:%d\n", user->pw_uid);
  printf("home:%s\n", user->pw_dir);
}

執(zhí)行:

name:shutdown
uid:6
home:/sbin

相關(guān)文章

  • C語言實現(xiàn)掃雷游戲

    C語言實現(xiàn)掃雷游戲

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)掃雷游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • C++的智能指針你真的了解嗎

    C++的智能指針你真的了解嗎

    這篇文章主要為大家詳細介紹了C++的智能指針,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • C語言如何建立動態(tài)鏈表問題

    C語言如何建立動態(tài)鏈表問題

    這篇文章主要介紹了C語言如何建立動態(tài)鏈表問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • C++獲取當前系統(tǒng)時間的方法總結(jié)

    C++獲取當前系統(tǒng)時間的方法總結(jié)

    這篇文章主要介紹了C++獲取當前系統(tǒng)時間的方法,實例總結(jié)了四個獲取系統(tǒng)時間的方法,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • 離線安裝visual?studio2022+QT5.12的實現(xiàn)步驟

    離線安裝visual?studio2022+QT5.12的實現(xiàn)步驟

    近期有需求離線配置C++與QT環(huán)境,本文主要介紹了離線安裝visualstudio2022+QT5.12的實現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • VC中BASE64編碼和解碼使用詳解

    VC中BASE64編碼和解碼使用詳解

    Base64是一種很常用的編碼方式,利用它可以將任何二進制的字符編碼到可打印的64個字符之中, 這樣,不管是圖片,中文文本等都可以編碼成只有ASCII的純文本。
    2015-11-11
  • C語言編程深入理解取整取余取模問題示例分析

    C語言編程深入理解取整取余取模問題示例分析

    這篇文章主要為大家介紹了C語言編程深入理解取整取余取模問題的示例分析詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-11-11
  • C++ Array容器的顯示和隱式實例化詳細介紹

    C++ Array容器的顯示和隱式實例化詳細介紹

    這篇文章主要介紹了C++中Array容器的隱式實例化和顯式實例化,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-10-10
  • C++使用grpc實現(xiàn)回射服務(wù)器

    C++使用grpc實現(xiàn)回射服務(wù)器

    gRPC是由Google開發(fā)的一個開源的高性能遠程過程調(diào)用(RPC)框架,用于在分布式系統(tǒng)中實現(xiàn)跨語言的服務(wù)通信,本文我們就來看看C++如何使用grpc實現(xiàn)回射服務(wù)器
    2024-10-10
  • 關(guān)于C語言 文件讀寫 feof 函數(shù)

    關(guān)于C語言 文件讀寫 feof 函數(shù)

    這篇文章主要給大家分享的是關(guān)于C語言文件讀寫 feof 函數(shù) ,feof 是 C 語言標準庫函數(shù),其功能是檢測文件結(jié)束符,如果文件結(jié)束,則返回非 0 值,否則返回 0,感興趣的小伙伴請跟小編一起來看看下面文章的內(nèi)容吧
    2021-10-10

最新評論

岚皋县| 沂源县| 石柱| 清河县| 衡阳县| 阿尔山市| 龙岩市| 卢氏县| 剑河县| 蓝田县| 柏乡县| 武清区| 大同县| 双江| 贵溪市| 婺源县| 怀宁县| 龙门县| 措勤县| 文水县| 紫阳县| 师宗县| 南昌市| 财经| 庄河市| 扎赉特旗| 泽库县| 玉林市| 当阳市| 宜州市| 安乡县| 阳高县| 项城市| 屏南县| 霍城县| 泾川县| 壤塘县| 宕昌县| 抚远县| 海南省| 武清区|