1:给定一个升序排列的数组,要求插入一个新数据后仍然升序输出,例如:原数据为:1,6,9,23,56,95插入新的一个数据50后输出变为:1,6,9,23,50,56,95.
LibraryFunctions
新编Windows API参考大全
键盘过滤驱动勘误《寒江独钓》
Keydata=Irp->AssociatedIrp.SystemBuffer;
numKeys=Irp->IoStatus.Information / Sizeof(KEYBOARD_INPUT_DATA);
for ( i=0;i<numKeys;i++)
{
DbgPrint(("numKeys : %d ",numKeys));
DbgPrint(("Scan code : %x ",KeyData->MakeCode));
DbgPrint(("%s\n",KeyData->Flags? "up":"down"));
MyPrintKeyStroke((UCHAR)KeyData->MakeCode);
if (KeyData->MakeCode==CAPS_LOCK)
{
KeyData->MakeCode=LCONTROL;
}
}
以上是书上的源代码,整个循环体只遍历了第一个结构体,后面的并没有进行操作,虽然有个循环但是并没有什么实质的作用,正确的遍历代码应该是下面的样子。程序代码所在页面Page-73
Keydata=Irp->AssociatedIrp.SystemBuffer;
numKeys=Irp->IoStatus.Information / Sizeof(KEYBOARD_INPUT_DATA);
for ( i=0;i<numKeys;i++,numKeys++)
{
DbgPrint(("numKeys : %d ",numKeys));
DbgPrint(("Scan code : %x ",KeyData->MakeCode));
DbgPrint(("%s\n",KeyData->Flags? "up":"down"));
MyPrintKeyStroke((UCHAR)KeyData->MakeCode);
if (KeyData->MakeCode==CAPS_LOCK)
{
KeyData->MakeCode=LCONTROL;
}
}
IP Sender [IP 发送者 ] beta 2
话说前几天又有人问关于能不能获取公网ip的问题,今天修改了下,增加了公网ip的获取,猛击此处下载文件!
最终获取的ip为如下的格式:
可能的公网ip:124.128.77.XXX
本地ip:192.168.5.146
2010-1-18 17:31:07