6

Linuxで正常にコンパイルおよび実行されるselect関数を使用するコードがいくつかあります。しかし、私はそれをWindowsに移植しようとしていますが、対処方法がわからないこのエラーが発生します。それは言う

STDIN_FILENO: undeclared identifier

私はこれに対する解決策を思い付くことができず、見つけることができませんでした。STDIN_FILENOをWindowsで機能させる方法はありますか?

4

3 に答える 3

5

MSDNは_fileno(stdin)、で_fileno宣言されている、の使用を提案しています<stdio.h>

ただし、次の点に注意してください。

stdoutまたはstderrが出力ストリームに関連付けられていない場合(たとえば、コンソールウィンドウのないWindowsアプリケーションの場合)、返されるファイル記述子は-2です。以前のバージョンでは、返されるファイル記述子は-1でした。この変更により、アプリケーションはこの状態をエラーと区別できるようになります。

于 2014-12-20T18:31:52.903 に答える
4

STDIN_FILENOは、標準POSIXの定義です。

0を試してください!

于 2012-11-23T15:19:59.643 に答える
0

回答が遅くなって申し訳ありませんがunistd.h、gccコンパイラを追加することでこの問題を解決しました。だから、追加してみてください

#include <unistd.h>

便利なリファレンスリンク

于 2016-07-05T09:32:33.067 に答える