😸

[C] fileno 関数

に公開

機能

ファイルストリーム FILE * から、そのストリームに関連付けられたファイルディスクリプタ(整数値)を取得する関数[1]

使用例

fileno(stdout) の結果を表示する

\n は改行を表す エスケープシーケンス[2]

コード

printf("%d\n", fileno(stdout));
全文
#include <stdio.h>
void main() {
    printf("%d\n", fileno(stdout));
}

実行結果

1

fileno(fp) でファイルストリームのディスクリプタを表示する

コード

FILE *fp = fopen("sample.txt", "r");
printf("%d\n", fileno(fp));
fclose(fp);
全文
#include <stdio.h>
void main() {
    FILE *fp = fopen("sample.txt", "r");
    printf("%d\n", fileno(fp));
    fclose(fp);
}

実行結果

3
脚注
  1. ファイルディスクリプタはOSが管理するファイル番号。Cのファイル操作で低レベルなAPIと連携する際などに利用される。 ↩︎

  2. 改行やタブなど、画面に表示されない制御文字のこと。 ↩︎

Discussion