1. 程式人生 > >getpass()函式:螢幕輸入不回顯

getpass()函式:螢幕輸入不回顯

環境:Vmware Workstation;CentOS-6.4-x86_64

說明:

讀寫使用者輸入,螢幕不回顯

char *getpass( const char *prompt);

getpass用於從鍵盤讀取使用者輸入,但螢幕不回顯。

引數prompt為螢幕提示字元。

函式返回值為使用者鍵盤輸入的字串。

螢幕不回顯指的是,使用者輸入的內容,不會顯示任何提示資訊,就是在Linux中切換使用者時,輸入密碼不現實一樣。

程式如下:

#include <stdio.h>
#include <unistd.h>

int main(int argc, char *args[])
{
	// 呼叫getpass函式
	// 函式的引數是提示資訊
	// 函式的返回值是使用者輸入的內容
	char *password = getpass("Input your password : ");
	// 輸出使用者輸入的資訊
	printf("password = %s\n", password);
	return 0;
}

編譯並執行程式:

[[email protected] mycode]$ gcc -o main main.c
[[email protected] mycode]$ ./main
Input your password :                           ------------這裡輸入內容不會回顯
password = 123456


PS:根據傳智播客視訊學習整理得出。

相關推薦

getpass()函式螢幕輸入

環境:Vmware Workstation;CentOS-6.4-x86_64 說明: 讀寫使用者輸入,螢幕不回顯 char *getpass( const char *prompt); getpa

Linux下編寫c程式使輸入的密碼問題

#include <stdio.h> #include <termios.h> #include <unistd.h> #include <errno.h>

Linux 輸入程式碼

int new_getpass(char* dest, int ml) {struct termios oldflag, newflag;//儲存原有終端屬性和新設定的終端屬性int len;tcgetattr(fileno(stdin), &oldflag);//

關於c++語言密碼的改進

關於 highlight != 語言 pos 進行 越界 ++ log 我發現上次的超市購物管理系統的密碼不回顯可能導致數組下表越界 於是進行了改進 如下 char *pass() { char a[20],ch; int i=0; while((ch=getch(

ModelDriven資料

問題: 回顯資料時資料無法顯示,經過除錯發現model中的資料都為空。 /** * 到達編輯企業資訊頁面(企業維護-編輯) */ public String updateEntPage(){ return "updateEntPage"; }  /** * 在up

解決element ui select下拉框資料問題

<el-select v-model="commonForm.status" clearable placeholder="請選擇"> <el-option v-for="

關於Linux終端 輸入密碼******

我們都知道,在Linux中: char a[10] = {0}; scanf(”%s”, a); 在終端控制檯上輸入的字串(或者字元)都會在終端顯示出來,那麼當我們想輸入密碼時(並不想被別人看見)該怎麼辦呢? (可以退格重新輸入密碼哦) /***

南郵匯編實驗——組合語言實現使用者的登入,密碼

用匯編語言實現使用者的登入,不回顯密碼 程式碼: .586 DATA SEGMENT USE16 STRWELCOME DB 'WELCOME,INPUT YOUR ID$' STRINPUTPASS

慢慢欣賞linux 命令列終端輸入輸出之謎

linux嵌入裝置命令列介面,無論是通過串列埠還是telnet連結IP地址,都可以通過鍵盤鍵入Linux各種命令,各種命令會顯示在終端並可以執行。這是怎麼做到的呢。 先說telnet IP地址,登陸成功之後進入shell介面,檢視messages日誌,發現提示開啟新的pts

對於ueditor自定義上傳,圖片的一些筆記

這篇文章,預設你已經成功地實現了ueditor自帶上傳。語言     : JAVA框架     :SSM      ueditor版本 : UEditor 1.4.3.3版本寫這篇文章的目的是因為,再實現圖片自定義路徑上傳的過程中,出現了圖片無法回顯的問題,自己的一些修改記錄

EditText設定密碼輸入並不

設定明文或密碼輸入: 設定輸入明文: mKey.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIB

KindEditor中上傳圖片的問題

圖片伺服器配置路徑如圖所示時: 圖片回顯請求地址為: 回顯地址中的"http://localhost:8080"多餘,所以找不到回顯圖片, 將圖片伺服器的地址前加上"http://"後(如圖所示

curses庫是由柏克萊大學的Bill Joy及Ken Arnold所開發的。當時開發curses庫的目的是為了解決程式對於不同終端的相容性。curses庫用於處理Linux/UNIX上的游標移動及螢幕顯示問題。考慮到curses庫的複雜性,這裡只是簡單地介紹一下curs

密碼

在軟體開發中,往往會遇到要求使用者輸入密碼的情況。出於對密碼的保密,輸入的字元是不會顯示到螢幕上的。例如,在登入Linux系統時,輸入使用者名稱後,輸入的密碼是不顯示的。這裡介紹兩種方法來解決這一問題。 6.5.1  使用curses庫 curses庫是由柏克萊大學的

實現輸入*號的函式

/*在使用者輸入密碼的時候,往往都是回顯*或者其他的隱藏字元,於是:*/#define MAXLEN 6char passwd[MAXLEN+1]="";char *GetPasswd() { unsigned char c; int i=0; while((c=getch())!='\r')

輸入m個學生,每個學生有4門課,在主調函式輸入學生的相關資訊,編寫三個函式: (1)求第一門課的平均分; (2)找出有兩門課以上及格的學生,並輸出他們的學號和全部成績,要求用指標函式實現fl

  輸入m個學生,每個學生有4門課,在主調函式中輸入學生的相關資訊,編寫三個函式: (1)求第一門課的平均分; (2)找出有兩門課以上不及格的學生,並輸出他們的學號和全部成績,要求用指標函式實現:float*Search(float(*p)[4],int n); (3)找出

GeekOS project0 -- 接收鍵盤輸入並在螢幕

原始碼包中的geekos-0.3.0/doc/hacking.pdf中有GeekOS的簡略介紹,專案概覽等等,同時在程式碼包中中給出了project0到project6等幾個專案,這幾個專案是部分程式碼缺失的,需要根據專案的要求填充缺失的程式碼實現所需要的功能,同時在這個過

linux系統下解決getch()輸入數值顯示

continue pan not while image png bsp log main 在linux系統下開發C 程序卻會遇到系統不支持conio.h頭文件,無法使用getch()不回顯函數。下面就演示如何構建函數實現數值輸入不回顯。 1 #includ

有n個整數,使前面各數順序向後移m個位置,最後m個數變成前面m個數。寫一函式實現以上功能,在主函式輸入n個數和輸出調整後的n個數。

import java.util.Scanner; public class Main {     public static void main(String[] args){         Scanner sc = new Scann