首先,我想将剪贴板中的变量与双精度变量进行比较之后,将剪贴板放入变量中
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>'
答案 0 :(得分:1)
问题在这里:
k = reinterpret_cast < double * > (GlobalLock(clip0));
用户不复制剪贴板编号。他们复制文本。 GlobalLock将向您返回指向剪贴板数据的文本内容的指针。您必须将其解析为数字。
更好:
char* text = reinterpret_cast<char*>(GlobalLock(clip0));
double d = atof(text);