读取键盘输入

read命令接收标准输入(键盘)的输入,或其他文件描述符的输入(后面在说)。得到输入后,read命令将数据放入一个标准变量中。

常用的参数:

参数作用
-p提示语句
-t等待时间
-s不回显
#脚本
[dps@ccod131 bak]$ cat read.sh 
#!/bin/bash

read -p "please input:" name
echo "$name"
#执行效果
[dps@ccod131 bak]$ bash read.sh 
please input:zhangaj
zhangaj
  • -p 打印提示(please input:);
  • -t 指定读取等待时长;
# 脚本
[dps@ccod131 bak]$ cat read.sh 
#!/bin/bash

read -p "please input:" -s name
echo 
echo "$name"
# 执行效果
[dps@ccod131 bak]$ bash read.sh 
please input:
zhang
  • -s 不回显
#脚本
[dps@ccod131 bak]$ cat read.sh 
#!/bin/bash

read -p "please input:"  name age 
echo 
echo "name:$name,age:$age"

#执行效果
[dps@ccod131 bak]$ vim read.sh
[dps@ccod131 bak]$ bash read.sh 
please input:zhangaj 25 女      

name:zhangaj,age:25 女
  • 输入多个变量时,按顺序读取给read后边的变量,多出来的值全部赋值给最后一个变量;当变量过少时,后边的变量赋值为空
#脚本
[dps@ccod131 bak]$ cat read.sh 
#!/bin/bash

read -p "please input:" 
echo 
echo "$REPLY"
#执行效果
[dps@ccod131 bak]$ bash read.sh 
please input:hello

hello
  • 默认变量:REPLY

参考链接:http://man.linuxde.net/read

在C#中,获取键盘输入的方法有多种,以下是不同场景下的具体方法: ### 控制台应用程序 - **获取键盘输入的ASC码**:使用`Console.Read()`方法,该方法返回键盘输入的ASC码,默认是`int`类型,它会读取一行,直到按下回车。例如: ```csharp int i = Console.Read() - 48; ``` - **获取键盘输入的一个字符**:使用`Console.ReadKey().KeyChar`方法,此方法能得到键盘输入的一个字符,默认是`char`类型,可以赋值给`int`、`double`、`char`类型的变量,且立即反应,没有缓冲区。不过,`char`类型若不进行强制类型转换,不能直接减去一个数字,但在`Console.WriteLine()`内可以减去常数或`int`值来输出一个整数。示例如下: ```csharp int i = Console.ReadKey().KeyChar - 48; ``` - **获取键盘输入的字符串**:使用`Console.ReadLine()`方法,它会读取一行,直到按下回车,可利用类型转换将其转换成需要的类型。 - 使用`Convert`类进行转换: ```csharp int i = Convert.ToInt32(Console.ReadLine()); double d = Convert.ToDouble(Console.ReadLine()); ``` - 使用`Parse`方法进行转换: ```csharp string j = Console.ReadLine(); int i = int.Parse(j); string k = Console.ReadLine(); double d = double.Parse(k); ``` ### WinForms应用程序 - **处理键盘事件**:在`Form`的键盘事件(如`KeyDown`)中,可以通过设置`KeyEventArgs.Handled`属性为`True`,来控制仅在窗体级别处理键盘事件而不允许其他控件接收键盘事件。同时,要设置该窗口的`KeyPreview`属性为`True`,确保把控件的键盘事件注册到窗体上。示例代码如下: ```csharp form1.KeyPreview = true; private void form1_KeyDown(object sender, KeyEventArgs e) { e.Handled = true; } ``` - **模拟键盘输入**:使用`SendKeys.Send`方法可以模拟键盘按键和组合键输入。例如: ```csharp using System.Windows.Forms; // 模拟按键:A private void button1_Click(object sender, EventArgs e) { SendKeys.Send("{A}"); } // 模拟组合键:CTRL + A private void button1_Click(object sender, EventArgs e) { SendKeys.Send("^{A}"); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值