主函数将在无限循环中读取用户放入终端的数字并将它们存储在缓冲区中。我的问题是我需要使用此功能从终端读取:如何使用读取功能从终端输入(stdin)读取?
read(int fd, void *buf, size_t count);
哪有文件描述符点到终端? (我希望我不是说一些野蛮行径)
在此先感谢!
编辑:我已经接受了你的建议,但有些东西缺失。这是我写的测试的小程序:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int buffer[5], i=0, j;
int main(){
for(j=0; j<5; j++) buffer[j] = 0;
while(i<5){
read(STDIN_FILENO, buffer, 8);
printf("->%d\n", buffer[i]);
i++;
}
return 0;
}
Outup:
1
->2609
2
->0
3
->0
4
->0
5
->0
为什么这不打印我的数字?
'fileno(stdin)' – BLUEPIXY 2014-11-21 20:28:22
@BLUEPIXY如果我有一个文件描述符STDIN_FILENO,为什么要使用该函数? – Miguel 2014-11-21 20:36:48
它可能会被重写。 – BLUEPIXY 2014-11-21 20:46:13