標(biāo)準(zhǔn)輸入是程序從命令行接受參數(shù)舵稠,標(biāo)準(zhǔn)的shell命令行會打開三個標(biāo)準(zhǔn)文件演侯,stdin-標(biāo)準(zhǔn)輸入 stdout-標(biāo)準(zhǔn)輸出 stderr-標(biāo)準(zhǔn)錯誤輸出
結(jié)合多種語言來說明標(biāo)準(zhǔn)輸入輸出
C語言
- 標(biāo)準(zhǔn)輸入
獲取一個字符
int getChar() //是從stdin流中讀入一個字符
int getc(FILE *stream) //從打開的流中讀取一個字符
獲取一個字符串
int gets(char *buffers) // 獲取一個字符串 遇到換行換行符號轉(zhuǎn)換為\0
格式化輸入
scanf(char str, ...var) // 格式化獲取數(shù)據(jù)
C++
- 標(biāo)準(zhǔn)輸入
獲取一個字符
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
- 標(biāo)準(zhǔn)輸入
// 獲取標(biāo)準(zhǔn)輸入
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("獲取輸入的數(shù)據(jù)")
})
PHP
- 標(biāo)準(zhǔn)輸入
STDIN 標(biāo)準(zhǔn)輸入設(shè)備
STDOUT 標(biāo)準(zhǔn)輸出設(shè)備
STDERR 標(biāo)準(zhǔn)錯誤輸出
方式一
文件操作函數(shù) + 常量
方式二
$fd = fopen('php://stdin', 'r')
$fh = fopen('php://stdout', 'w')
Golang
- 標(biāo)準(zhǔn)輸入
import 'os'
inputReader := bufio.NewReader(os.Stdin)
input, err := inputReader.ReadString('\n')