将 double* 与 double 进行比较
Compare double* with double
首先我将剪贴板放入一个变量,之后我想将这个变量与双精度变量进行比较
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>'
问题在这里:
k = reinterpret_cast < double * > (GlobalLock(clip0));
用户不会将数字复制到剪贴板。他们复制文本。 GlobalLock 将 return 指向剪贴板数据的 text 内容的指针。你必须把它解析成一个数字。
更好:
char* text = reinterpret_cast<char*>(GlobalLock(clip0));
double d = atof(text);
首先我将剪贴板放入一个变量,之后我想将这个变量与双精度变量进行比较
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>'
问题在这里:
k = reinterpret_cast < double * > (GlobalLock(clip0));
用户不会将数字复制到剪贴板。他们复制文本。 GlobalLock 将 return 指向剪贴板数据的 text 内容的指针。你必须把它解析成一个数字。
更好:
char* text = reinterpret_cast<char*>(GlobalLock(clip0));
double d = atof(text);