-4

我正在尝试将剪贴板内容写入文件,但由于某种原因程序冻结。

FILE *fp;
fp = fopen("tmp.code","w");
fprintf(fp,getclip()); /*writes*/

fclose(fp);

char* getclip(){

    HANDLE clip;
    if (OpenClipboard(NULL)){
        clip = GetClipboardData(CF_TEXT);
        CloseClipboard();
        return clip;
    }

}

我究竟做错了什么 ?

谢谢

4

1 回答 1

4

该函数getclip()返回一个int, 并fprintf期望指向 char 的指针。它试图访问无效的内存位置:您返回一个HANDLEasint然后fprintf将其解释为要从中读取字符的内存地址。

请查看您的编译器错误和警告并修复您的代码。

于 2013-10-15T11:38:58.640 回答