所以我用win32编写一个带WinInet.h库的项目,我使用字符串比较来检查源代码中是否有某个字符串,除了InternetReadFile没有抓取整个源代码,它只抓取顶部像20%,我尝试增加NumberOfBytes参数,我把它增加到1000万,现在它只需要永远。基本上,我有一个程序,你单击一个按钮,它抓取源代码并将其显示在消息框中。我试图让它成为当你点击按钮时,它搜索特定字符串的源代码,显示一个消息框,说明找到了文本。
任何人都知道我能做什么?
答案 0 :(得分:3)
来自文档:
“每次
InternetReadFile
调用要读取的数据量由dwNumberOfBytesToRead
参数指定,数据在lpBuffer
参数中返回。正常读取为每次调用InternetReadFile
检索指定的dwNumberOfBytesToRead,直到到达文件末尾。 为了确保检索所有数据,应用程序必须继续调用InternetReadFile
函数,直到函数返回TRUE
并且lpdwNumberOfBytesRead
参数等于零。
所以你必须在循环中调用InternetReadFile()
,直到你收到了你期望的所有数据。由于您正在进行字符串搜索,因此您需要缓冲读取数据然后扫描缓冲区,因为您要查找的字符串可能会跨越多个InternetReadFile()
次调用。