如果我想使用其他類型數據流,如插座沿着一個物理文件,我可以簡單地轉換的文件句柄到文件描述符:創建GNU C文件描述符沒有文件句柄
#include <stdlib.h>
#include <stdio.h>
int main(void) {
FILE *f = fopen("uniquefilename.ext", "w");
int fd = fileno(f);
printf("%d\n", fd);
fclose(f);
return 0;
}
不GNU標準庫提供了一種直接獲取物理文件描述符的方法?東西的效果:
int fd = some_call("file_name.ext", "mode");
看來我需要說明,我完全知道如何描述符是不是隱含綁定到任何特定的文件。當我寫下「獲取物理文件的描述符」時,我誤導了;我應該寫的東西就像「創建一個描述符來訪問特定的物理文件」。
物理文件沒有文件描述符。 –
@凱特湯普森好悲傷 – motoku
這是什麼意思?文件描述符可以與物理文件相關聯 - 就此而言,多個文件描述符可以與給定的物理文件相關聯(在同一進程內)。如果你正在尋找'open()'調用,它會*分配一個新的文件描述符並將它與指定的物理文件關聯起來。 –