- 论坛徽章:
- 0
|
walleeee 发表于 2012-03-09 22:59
知道0/1/2么? 那我怎么观察到描述符也随流一起变了呢?- $ cat fileno.c
- #include <stdio.h>
- #include <unistd.h>
- #include <sys/stat.h>
- #include <string.h>
- void print_st(const struct stat* file_stat)
- {
- printf("st_ino = %ld, st_dev = %d\n",
- file_stat->st_ino, file_stat->st_dev);
- }
- int main(void)
- {
- struct stat file_stat;
- fstat(STDIN_FILENO, &file_stat);
- print_st(&file_stat);
- if (NULL == freopen("fileno.c", "r", stdin))
- {
- fprintf(stderr, "freopen error\n");
- return 0;
- }
- fstat(STDIN_FILENO, &file_stat);
- print_st(&file_stat);
- return 0;
- }
- $ gcc fileno.c
- $ ./a.out
- st_ino = 3, st_dev = 10
- st_ino = 160919, st_dev = 64769
复制代码 |
|