不好解决的问题,在此过程中无论谁都将获益非浅!

crliu 2000-05-19 10:18:00
加精
I want to write an application of internet through InternetOpen(...) and InternetOpenUrl(....) and receive a file data from http website.
Please tell me how to use these functiion.
Thanks.
...全文
425 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
mcsdcn 2000-11-08
  • 打赏
  • 举报
回复
能不能在源程序中注释一下啊,softdoctor?
softdoctor 2000-05-19
  • 打赏
  • 举报
回复
以下是我写的一段程序
CLoginWnd logwnd;
logwnd.m_csServerName = strServerName;
HINTERNET hInternet=NULL;
if(hInternet = ::InternetOpen("",
INTERNET_OPEN_TYPE_PRECONFIG,
NULL,NULL,NULL))
{
HINTERNET hInnetConnect = NULL;
while(!(hInnetConnect = InternetConnect(
hInternet,strServerName,
nPort,logwnd.m_csUser,logwnd.m_csPWD,
INTERNET_SERVICE_HTTP,
NULL,0)))
{
if(logwnd.DoModal()!=IDOK)
{
break;
}
}
if(hInnetConnect)
{
LPCTSTR Accept = "*/*";
HINTERNET hRequest = NULL;
if(hRequest = HttpOpenRequest(hInnetConnect,
"GET",strObject,NULL,NULL,&Accept,
INTERNET_FLAG_EXISTING_CONNECT and INTERNET_FLAG_NO_AUTO_REDIRECT,
0))
{
if(::HttpSendRequest(hRequest,szHeaders,strlen(szHeaders),NULL,0))
{
DWORD dwSizeInput=0;
DWORD dwSizeBuffer=0;
DWORD dwSizeReaded=0;
InternetQueryDataAvailable(hRequest,&dwSizeBuffer,0,0);
while(dwSizeBuffer)
{
dwSizeInput+=dwSizeBuffer;
if(pRetByte==NULL)
{
pRetByte = (BYTE*)malloc(dwSizeInput+1);
}
else
{
pRetByte = (BYTE*)realloc(pRetByte,dwSizeInput+1);
}
InternetReadFile(hRequest,
pRetByte+dwSizeInput-dwSizeBuffer,
dwSizeBuffer,&dwSizeReaded);
InternetQueryDataAvailable(hRequest,&dwSizeBuffer,0,0);
}
dwDataSize = dwSizeInput;
}
InternetCloseHandle(hRequest);
}
InternetCloseHandle(hInnetConnect);
}
InternetCloseHandle(hInternet);
}
Google Adsense 的秘密(文版)(转) 0推荐本文今天看了下GOOGLE adsense的秘密,无论对做GOOGLE ADSENSE,还是对网站的运营,用户心里分析,感觉都是帮助非常的大.学习到了一种很好分析问题的思路,特此推荐给大家. ----------------------------------------------------------------------------------------------- 亲爱的读者, 感谢你购买第二版扩充本《Google不曾告诉你:用Adsense挣大钱三部曲》! 这本书的内容是有关Google Adsense的高级应用,因此我在写作的过程假设本书的读者已经具备了有关Adsense的基础知识。 别让这句话吓住了你,因为这本书确实是非常的简单易懂。 如果你是一个Adsense新手,那么你在阅读过程可能需要查阅Adsense Support Pages或者在线索引Glossary来获取帮助。 我尽量保证本书结构的紧凑,并把主要内容集在如何提高你的Adsense收入上。在此书你将会发现一些非常实用的解决方案,如吸引目标访问流量、增强内容相关性、提高adsense广告关注度等等,这些都是网站主非常关心和棘手的问题。通过运用书所授的一些简单合法的方法已经使很多人(包括我自己)获益匪浅。 无论你经营的是哪一类网站,也不管你的网站内容是什么,你都会在这里找到很多有益的方法使你的adsense收入大幅提高。 在此书,我会把我自己所采用的技巧毫无保留的传授给你,这些技巧曾经在几乎一夜之间使我的adsense收入提高了十倍。你可以试一试自己应用这些技巧的效果如何。 如果你期望的是一本Dummies类型的大部头,用整整一章的内容来讲述“到底Adsense是什么鬼东西?”或者“内容相关广告简史”。那么这本小册子可能有点出乎你的意料。我之所以这样编写这本书的原因是不希望读者在看到真正有用的东西之前就对它失去了兴趣。毕竟这是我第一次公开这些经过检验的提高adsense点击率的技巧和方法。 这不正是你购买本书的目的吗? 如果是的话,那么你一定不会失望的。
高清晰版本,值得一下。 Amazon评论: “这本书非常好,首先它以简单、易懂的方式阐述了C++原理和实践.而且强调养成良好的编程习惯,注意编程细节,C++编程人员都应该人手一册,常读常新。” “作为C++语言的发明人,作者站在专业程序员的角度讲述如何为现实世界的计算问题设计有效的解决方案。尽管本书采用的是C++语言,但其涵盖的程序设计思想同样适用于其他语言,而且这些颇具实践意义的编程思想还可以弥补高校程序设计课程偏重语法细节,忽视总体思想方法和整体过程实现的问题,使读者充分认识到程序设计是一种解决问题的方法和能力,最终是对程序设计语言的应用,这也是本书的价值所在。” “这本书是学习程序设计的最佳选择.无论是课堂学习还是自学,本书独具深度的思想、缜密的思路、开阔的视野及专业的讲解都会使你获益匪浅。” “这本书与作者另一本享有盛誉的著作——《C++程序设计语言(特别版)》相辅相成……” 内容简介 本书是经典程序设计思想与C++开发实践的完美结合,是C++之父回归校园后对C++编程原理和技巧的全新阐述。书全面地介绍了程序设计基本原理,包括基本概念、设计和编程技术、语言特性以及标准库等,教你学会如何编写具有输入、输出、计算以及简单图形显示等功能的程序。此外,本书通过对C++思想和历史的讨论、对经典实例(如矩阵运算、文本处理、测试以及嵌入式系统程序设计)的展示,以及对C语言的简单描述,为你呈现了一幅程序设计的全景图。 ·C++初学者的权威指南。无论你是从事软件开发还是其他领域的工作,本书将为你打开程序开发之门。 ·高级程序员的必备参考。通过观察程序设计大师如何处理编程的各种问题,使你获得新的领悟和指引。 ·全面阐释C++基本概念和技术。与传统的C++教材相比,本书对基本概念和技术的介绍更为深入,为你编写实用、正确、易维护和有效的代码打下坚实的基础。 ·强调现代C++编程风格。本书从开篇就介绍现代C++程序设计技术,并揭示了大量关于如何使用C++标准库来简化程序设计的原理,使你快速掌握实用编成技巧。 ·配套教辅资源丰富。本书网站(www.stroustrup.com/Programming)提供了丰富的辅助资料,包括实例源码、PPT、勘误等。
Amazon评论: “这本书非常好,首先它以简单、易懂的方式阐述了C++原理和实践.而且强调养成良好的编程习惯,注意编程细节,C++编程人员都应该人手一册,常读常新。” “作为C++语言的发明人,作者站在专业程序员的角度讲述如何为现实世界的计算问题设计有效的解决方案。尽管本书采用的是C++语言,但其涵盖的程序设计思想同样适用于其他语言,而且这些颇具实践意义的编程思想还可以弥补高校程序设计课程偏重语法细节,忽视总体思想方法和整体过程实现的问题,使读者充分认识到程序设计是一种解决问题的方法和能力,最终是对程序设计语言的应用,这也是本书的价值所在。” “这本书是学习程序设计的最佳选择.无论是课堂学习还是自学,本书独具深度的思想、缜密的思路、开阔的视野及专业的讲解都会使你获益匪浅。” “这本书与作者另一本享有盛誉的著作——《C++程序设计语言(特别版)》相辅相成……” 内容简介 本书是经典程序设计思想与C++开发实践的完美结合,是C++之父回归校园后对C++编程原理和技巧的全新阐述。书全面地介绍了程序设计基本原理,包括基本概念、设计和编程技术、语言特性以及标准库等,教你学会如何编写具有输入、输出、计算以及简单图形显示等功能的程序。此外,本书通过对C++思想和历史的讨论、对经典实例(如矩阵运算、文本处理、测试以及嵌入式系统程序设计)的展示,以及对C语言的简单描述,为你呈现了一幅程序设计的全景图。 ·C++初学者的权威指南。无论你是从事软件开发还是其他领域的工作,本书将为你打开程序开发之门。 ·高级程序员的必备参考。通过观察程序设计大师如何处理编程的各种问题,使你获得新的领悟和指引。 ·全面阐释C++基本概念和技术。与传统的C++教材相比,本书对基本概念和技术的介绍更为深入,为你编写实用、正确、易维护和有效的代码打下坚实的基础。 ·强调现代C++编程风格。本书从开篇就介绍现代C++程序设计技术,并揭示了大量关于如何使用C++标准库来简化程序设计的原理,使你快速掌握实用编成技巧。 ·配套教辅资源丰富。本书网站(www.stroustrup.com/Programming)提供了丰富的辅助资料,包括实例源码、PPT、勘误等。 作者简介 Bjarne Stroustrup 英国剑桥大学计算机科学博士,C++的设计者和最初的实现者。他现在是德州农工大学计算机科学首席教授。1993年,由于在C++领域的重大贡献,他获得了ACM的 Grace Murray Hopper大奖并成为ACM院士。在进入学术界之前,他在AT&T贝尔实验室工作,是ISO C++标准委员会的创始人之一。
著者:Steve McConnell
翻译:天奥

近年来,关于软件开发的研究,进展是非常迅速的,但是开发实践却并非如此。许多程序仍然是错误百出,充斥着过时的技术,从而无法满足用户需要。软件工业界和学术界的研究者们,基本上已经解决了七十年代和八十年代在编程遇到的问题,并发展了相应的技术。但是直到现在,这些技术的大部分仍然没有在软件编程广泛采用,其主要原因是这些研究成果主要发表在高度专业性的学术刊物,普通的程序员们无心顾及。Sridhar Raghavan 和 Donald Chand(1989)的研究表明,一项新技术从诞生到被工业界广泛采用大约需要 5 到15 年的时间。本书的目的就是希望能够缩短新技术推广周期,使广大的程序员们可以迅速地获得软件开发的最新方法与手段。

本书所面向的对象

本书所收集的研究和编程经验,将有助于你编写出高质量的软件,并且使得开发周期缩短。通过阅读本书,你将会对自己过去所犯过的错误有更深刻的理解,并懂得今后如何避免它们。同时,书所收集的丰富的编程经验也将使你在控制大规模项目和按要求对软件进行修改和维护时感到得心应手。下面是适合阅读本书的几类人:
经验丰富的程序员
本书适合于想要得到一本全面易用的软件设计指南的那些资深程序员们阅读。由于本书的心内容是广大程序员们所熟知的实现过程,因此,无论是受过正规训练而已经验丰富的程序员,还是完全靠自学成长起来的程序员,都能容易读懂本书所论述的先进技术和方法。
自学成才的程序员
  本书尤其适合于很少受过正式专业训练的程序员阅读。1988 年有 100,000 人加入了程序员大军,但其只有 40,000 人是从计算机专业毕业的本科生,其余则几乎全是靠自学成才的。同时,还有不计其数的其他各行各业的人员需要在工作自己动手编一些程序。无论你所受到的正规计算机专业训练多或少,本书都将使你对有效的编程方法和技巧有更深刻的理解。

学生

  本书不仅适于实践经验丰富但理论基础薄弱的自学者阅读,同时也适于那些理论基础较好但几乎不懂得什么编程诀窍的毕业生们阅读。新程序员们的某些实践经验来自于经验丰富的同事.但主要还是靠自己──吃一堑,长一智──获得的,这往往是一个艰苦而缓慢的过程。通过本书,可以使你在短时期内获得大量的经验和技巧,从而脱颖而出,所以,不妨一试。

本书的主要特点

完备的软件创建参考 本书从质量和编程思想等方面论述了软件构造问题。几乎囊括了生成子程序、数据的输入输出与控制结构、调试、代码调整策略与技术等各方面的细节。在使用本书时不必逐页阅读每一个细节,只要在需要时查阅你所感兴趣的章节即可。请把本书作为手册而不是作为教科书来使用。
  方便而实用的检查表 书附有用于检查软件的结构设计、设计方法、模块和子程序等质量的检查表,以供评估软件质量之用。同时,关于变量名、控制结构、方案布置、测试用例等等检查表也将使你获益匪浅。
紧跟潮流的新技术 书论述了许多目前最先进的技术,其许多还只是刚刚投入应用。由于本书取材于实践经验和最新研究成果两个方面,因此书所提供的技术在相当长的时间内都不会过时。
高屋建瓴的观点 阅读本书将使你跳出日常琐碎工作的圈子,对软件开发有一个总体上的把握与认识。繁杂的日常工作往往使程序员们穷于应付而无暇阅读浩如烟海的书籍与资料,本书丰富而翔实的第一手资料将弥补这一缺憾,使你对软件开发的策略作出正确决策而不致陷入旷日持久的消耗战
通用的概念 无论你用的是 Pascal、C、C++、Ada、Basic、Fotran 还是 COBOL,都可以从本书所论述的概念、方法和技巧获得教益。
  丰富而典型性的程序示例 书含有大约 500 多个正反两方面的程序示例。之所以引入这么多的示例,是因为笔者就是从各种例程吸取了大部分的知识、经验与诀窍,因此笔者认为最好的学习方法是多看例程。例程是用多种语言写成的,因为对于程序员来说,掌握多种语言是其必不可少的基本素质之一。而且,只有掌握了不受语法规则限制的编程准则,才能真正有效地提高你的编程效率和质量。 为了减轻由于使用多种语言所带来的额外负担,在例程除非确有必要,尽量避开了各个语言过于独特的部分。事实上,如果你真正注意每个例程所要说明的问题的话,那么不必详细理解每个程序段,你也可以清楚地懂得程序的意义。同时,为了进一步减轻读者的负担,对程序有意义的部分作了标记。

本书的独特内容

本书关于创建活动的内容是从多个渠道获得的。有关创建活动的资料不仅分布得非常分散,而且往往没有成文资料,事实上,卓有成效的优秀程序员们所使用的技术并不神秘,但由于日常事务的繁重和工作任务的重压,程序员们很少有互相交流切磋的时间,因而,他们往往缺乏有关编程技巧的有效信息来源。
本书所论述的技术不仅填补了初级与高级编程课本之间的空白,而且也为程序员们提供了一个有关编程技巧的信息来源。比如当你读过 C 语言初级教程之后,你可以再读 C 语言高级教程,然后再去读 C 语言高级的高级教程,但读完这些书后,你还能再读什么书呢?你可以再去读关于 PC、Macintosh 或 UNIX 等硬件或操作系统的书或者其它有关编程细节的书——因为你如果不了解实现环境详情的话是无法充分有效地使用语言和程序的。但这只是讨论了编程的一个方面,最有效的编程技术是那些不受实现环境及语言限制的技术。其它书往往忽略了这一点,但这恰恰是本书的重点。

写作本书的目的

需要一本关于软件开发有效技术的书,是软件工程界所公认的。由计算机科学技术委员会所发表的一份报告认为,提高程序质量和生产效率的最有效途径是出版一本关于软件开发有效技术的书,而且这本书应该以手册的形式来组织。
  同时,计算机编程技术的发展史也证明急需一本这方面的书,本书正是出于这个目的才出版的。
创建活动未受到应有的重视
在一段时期内,软件开发与编码被当作是一回事,但随着软件开发周期的其它活动被认识,这一领域内的主要努力全部集到了项目管理、需求分析、设计和测试等方面,创建活动成了被遗忘的角落。
与这种现象相对应的思想是认为创建活动是软件开发无关紧要的部分。于是,刚入门的程序员被派去进行创建工作,为那些已经由上一阶段设计好的子程序编码。工作几年之后,他可能会被提升至需求分析或项目管理部门。于是,这位程序员也会自豪地感到他不必再去编码了。
创建活动是非常重要的

创建活动被忽视的另一个原因是:研究者和程序员们错误地认为与其它开发活动相比,创建活动是一相对来说比较机械的活动,没有什么值得改进的。没有什么比这种想法离事实更远了。
在小规模项目,创建活动约占工作量的 80%,在型项目也要占 50%的工作量,而发生在创建活动的错误则占总错误的 50%到 75%。一项会产生 50%到 75%错误的工作是有许多待改进之处的。
一些人认为,虽然创建时的错误占到总错误的 50%到75%,但修改它们的费用与分析、设计错误相比要少得多。的确,创建时的错误修改费用与前期工作错误修改费用相比是要少一些,但是绝对数并不少。 Gerald Weinbers曾在 1983 年报道过三个错误,每个错误的修改费用都高达数百万美元,而每个错误都是一行编码层次上的代码错误。因此,绝不能以修改费用相对少为理由来忽视创建活动。 具有讽刺意味的是,被忽视的创建活动事实上是唯一任何规模项目都必不可少的活动。需求可以进行猜想而不必分析;结构可以被省略而不必设计。系统测试也可以不进行。但是,如果你想有一个程序的话,你就不得不进行创建活动。

本书的独特性

  如果创建活动的重要性是非常明显的话,那么本书恐怕就没有出版的必要了。但事实上几乎没有什么书详细论述了这一主题。只有 15 年前出版过一本类似内容的书,讲述的是 ALGOL、PL/I、Ratfor 等早已过时的语言的具体问题。其它偶尔也有几本这方面的书,但却是教授们针对教学用的演示性项目而写的,没有涉及到真正的工程问题。有些则偏激地推崇新技术而不恰当地贬低了一些非常实用的成熟技术。总之,就内容的新颖、翔实、丰富和实用来看,目前似乎还没有与本书相匹敌的关于创建活动的书。

16,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧