2016-07-10 4 views
-1

Когда я скомпилировать этот код, я получаю ошибкуНеправильное преобразование из 'межд' до 'FILE *'

**[Error] invalid conversion from 'int' to 'FILE* {aka _iobuf*}' [-fpermissive]** 

Код:

int yazi; 
FILE *dosya; 
char *girdi = (char*) malloc(sizeof(char)*500); 

void cikiskayit() 
{ 
    HWND pencere; 
    pencere = NULL; 

    int mesajkutu = MessageBox(
     pencere, 
     "Yazıyı kaydetmek istermisiniz ?", 
     "Kayıt ?", 
     MB_ICONEXCLAMATION | MB_YESNO); 

    if (mesajkutu == 1) 
    { 
     dosya = fprintf(dosya,girdi); // error's source line 
    } 
    else if(mesajkutu == 2) 
    { 
     fclose(dosya); 
    } 
} 
+1

Не могли бы вы подтянуть код и дать более подробную информацию о том, как вы его скомпилировали (компилятор, флаги и т. Д.)? Полный, компилируемый пример намного проще для людей ответить. Благодаря! –

ответ

1

fprintf возвращает количество напечатанных символов. По какой-то причине вы пытаетесь присвоить это переменной, тип которой FILE *. Это запрещено.

Без значимых имен переменных или комментариев, я не могу вам помочь, кроме того, я не знаю, как исправить это для вас. Я подозреваю, что вы просто хотите отказаться от части назначения и позвонить только printf.

Смежные вопросы