从“int”到“FILE *”的转换无效

时间:2016-07-10 18:21:56

标签: c compiler-errors

编译此代码时,我收到错误

**[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 个答案:

答案 0 :(得分:1)

fprintf 返回打印的字符数。出于某种原因,您尝试将其分配给类型为FILE *的变量。这是不允许的。

如果没有有意义的变量名称或评论,我无法帮助你超越这个 - 我不知道如何为你解决它。我怀疑你只想删除作业部分,只打电话给 printf