标准输入是程序从命令行接受参数,标准的shell命令行会打开三个标准文件,stdin-标准输入 stdout-标准输出 stderr-标准错误输出
结合多种语言来说明标准输入输出
C语言
- 标准输入
获取一个字符
int getChar() //是从stdin流中读入一个字符
int getc(FILE *stream) //从打开的流中读取一个字符
获取一个字符串
int gets(char *buffers) // 获取一个字符串 遇到换行换行符号转换为\0
格式化输入
scanf(char str, ...var) // 格式化获取数据
C++
- 标准输入
获取一个字符
cin.get(char &ch)
char ch = cin.get(void)
获取一个字符串
istream & cin.get(char *s, int)
istream & cin.get(char *s, int, char)
istream & cin.getline(char *s, int)
istream & cin.getline(char *s, int, char)
istream & cin.ignore(char *s, int )
istream & cin.peek() // 获取输入流中的下一个字符但是不抽取
nodejs
- 标准输入
// 获取标准输入
process.stdin.setEncoding('utf8')
process.stdin.on('data', (msg) => {
console.log(msg)
})
process.stdin.on('end', () => {
process.stdout.write('end')
})
readline // 模块
const rl = readline.createInterface({
input: process.stdin
output: process.stdout
})
rl.on('line', (data) => {
console.log("获取输入的数据")
})
PHP
- 标准输入
STDIN 标准输入设备
STDOUT 标准输出设备
STDERR 标准错误输出
方式一
文件操作函数 + 常量
方式二
$fd = fopen('php://stdin', 'r')
$fh = fopen('php://stdout', 'w')
Golang
- 标准输入
import 'os'
inputReader := bufio.NewReader(os.Stdin)
input, err := inputReader.ReadString('\n')