比较double *与double

时间:2019-03-24 17:17:56

标签: c++ windows double clipboard

首先,我想将剪贴板中的变量与双精度变量进行比较之后,将剪贴板放入变量中

double * k;

if (OpenClipboard(NULL) != FALSE) {
    HANDLE clip0 = GetClipboardData(CF_TEXT);
    if (clip0 != NULL) {
        k = reinterpret_cast < double * > (GlobalLock(clip0));
        GlobalUnlock(clip0);
    }
    CloseClipboard();
}
printf("%f", k);

double mini;
mini = 0.1258;

if (k > mini) {
    printf("ok");
} else {
    printf("non");
}

但是我遇到了这个错误:[错误]类型为'double *'和'double'的无效操作数为二进制'operator>'

1 个答案:

答案 0 :(得分:1)

问题在这里:

k = reinterpret_cast < double * > (GlobalLock(clip0));

用户不复制剪贴板编号。他们复制文本。 GlobalLock将向您返回指向剪贴板数据的文本内容的指针。您必须将其解析为数字。

更好:

char* text = reinterpret_cast<char*>(GlobalLock(clip0));
double d = atof(text);