Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Некорректное преобразование FILE->int


Автор: Fynivx 15.1.2012, 02:12
Доброго времени суток. Вопрос исключительно идиотский, но задать я его вынужден. Как корректно преобразовать дескриптор файла в инт?

Собственно, мне его нужно передать в функцию, которая принимает файловый дескриптор в инте.

Код

...
FILE* stdin = fopen( "/dev/stdin", "r" );
...
struct event* stdinevt = event_new( base, *stdin, EV_WRITE, callback, NULL );// некорректное преобразование из FILE в int.
...

Код

...
FILE* stdin = fopen( "/dev/stdin", "r" );
...
struct event* stdinevt = event_new( base, (int)*stdin, EV_WRITE, callback, NULL );// то же самое.
...

Код

...
int* stdin = (int*) fopen( "/dev/stdin", "r" );
...
struct event* stdinevt = event_new( base, *stdin, EV_WRITE, callback, NULL );// ошибки нет, но в первой строчке вместо дескриптора
// получаю какую-то неведомую фигню, в связи с чем ничего не работает.
...


Если мне не изменяет память, в хэдэре stdin четко написано - #define FILE int
Или я ошибаюсь?
Так что же я делаю не так?(
Скажите пжлст =/

Автор: 586 15.1.2012, 03:10
функция fileno.

Автор: Fynivx 15.1.2012, 03:23
Огромное Вам биг сенкъювериматшч)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)