C++
文章平均质量分 77
jijihome
这个作者很懒,什么都没留下…
展开
-
用CHttpFile实现简单的GET/POST数据
一、GET 数据,下载网页,文件等,用于可下载的文件,不能用于服务端运行的程序,比如.aspx文件等,否则会返回500错误。CString strSentence, strWriteName = "1.htm";CString strFileName = "http://localhost/InDesign/" + strWriteName;CInternetSession sess;CHttpFile* fileGet;try{ fileGet = (CHttpFile*)s转载 2011-04-02 03:35:00 · 1959 阅读 · 1 评论 -
CString.Format 用法
<br />Format 指定输出格式,后面跟要输出的变量,目前 printf 支持以下格式: <br /> %c 单个字符 <br /> %d 十进制整数 <br /> %f 十进制浮点数 <br /> %o 八进制数 <br /> %s 字符串 <br />原创 2011-04-06 01:05:00 · 272 阅读 · 0 评论 -
WinInet 错误大全
<br />可以从中获取997类似的错误,即ERROR_IO_PENDING---------->特别注意这个MSDN中都没给出的,查都查不到,上面12002能查到,这个是完全凭经验(目前网上搜索也不容易搜索出来997)。<br /> <br />//<br />// MessageId: ERROR_IO_INCOMPLETE<br />//<br />// MessageText:<br />//<br />// Overlapped I/O event is not in a s原创 2011-04-06 12:20:00 · 1242 阅读 · 0 评论 -
GB2312 转为 UTF-8
<br /> void CChineseCodeLib::GB2312ToUTF_8(string& pOut,char *pText, int pLen) { char buf[4]; char* rst = new char[pLen + (pLen >> 2) + 2]; memset(buf,0,4); memset(rst,0,pLen + (pLen >>原创 2011-04-06 12:18:00 · 211 阅读 · 0 评论 -
使用WinInet库从远程HTTPS服务器上读取文件
<br />需求很简单,从远程的HTTPS服务器读取一个文件到本地。<br /><br />使用下面的来测试:https://ssl.google-analytics.com/urchin.js (相当于读取 https://ssl.google-analytics.com/ 下的 urchin.js 文件) <br /><br />环境为VC2005SP1#include "stdafx.h"#include "Windows.h"#include "wininet.h"//链接需要转载 2011-04-05 22:36:00 · 1617 阅读 · 0 评论 -
使用 WinInet 进行 SSL 请求
<br />使用 WinInet API 可以建立安全套接字层 (SSL) 或专用通信技术 (PCT) HTTP 会话。安全 HTTP(表示为 HTTPS://)在 TCP 端口 443 上发生。可以使用类似于下面这样的代码来建立 HTTPS 会话://...hOpen = InternetOpen(...);Connect = InternetConnect( hOpen, // InternetOpen handle转载 2011-04-05 22:23:00 · 1541 阅读 · 0 评论 -
BSTR 、LPCTSTR、CString基本操作
<br />一、CString ,BSTR ,LPCTSTR之间关系和区别<br /><br />CString是一个动态TCHAR数组,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵),LPCTSTR只是一个常量的TCHAR指针。<br /><br />CString 是一个完全独立的类,动态的TCHAR数组,封装了 + 等操作符和字符串操作方法。<br />typedef OLECHAR FAR* BSTR;typedef const char * LPCTSTR;<br /><转载 2011-04-02 04:29:00 · 505 阅读 · 0 评论 -
孙鑫老师书中的SOCKET代码
<br />//Server端#include <Winsock2.h>#include <stdio.h>void main(){ WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD(1, 1); err = WSAStartup(wVersionRequested, &wsaData); if(err != 0) {原创 2011-04-02 16:44:00 · 559 阅读 · 0 评论 -
C++中的delete和delete[]
<br />1. 当你使用new时,有两件事会发生。第一,内存被配置(透过函数operator new)。第二,会有一个(或以上)的constructors针对此内存被调用。当你使用delete时,也有两件事发生:一个(或以上)的destructors会针对此内存被调用,然后内存被释放(透过函数operator delete)。<br /><br />2. 如果你使用delete是未加括号,delete便假设删除对象是单一对象。否则便假设删除对象是个数组。<br /> <br />3. string *转载 2011-04-02 05:16:00 · 137 阅读 · 0 评论 -
执行网页中函数的代码
<br />BOOL __fastcall ExeScript(TWebBrowser * Web, String jsName, TStringList *args, CComVariant *pVarResult){ IHTMLDocument2 *spDoc = (IHTMLDocument2 *)(void *)Web->Do原创 2011-04-02 05:03:00 · 308 阅读 · 0 评论 -
求n的阶乘
<br />描述<br /><br />给定一个数n,范围为0≤n≤100,请你编程精确的求出n的阶乘n!。<br /><br />输入<br /><br />输入数据有多行,每行一个整数n,当n<0时输入结束。<br /><br />输出<br /><br />输出n的阶乘。<br /><br />样例输入<br />1<br />2<br />3<br />4<br />-1<br />样例输出<br />1<br />2<br />6<br />24<br />转载 2011-04-02 04:57:00 · 1407 阅读 · 0 评论 -
如何使用SOCKET 发送HTTP1.1 GET POST请求包
HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。HTTP有两类报文:请求报文和响应报文。请求报文一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。HTTP 1.1 (1)请求行请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。例如,GET /index.html HTTP/1.1。HTTP协议的请求方法有GET、POS转载 2011-04-02 04:43:00 · 481 阅读 · 0 评论 -
SetTimer函数的用法
1、函数原型及变形SetTimer这个API函数的原型 :UINT_PTR SetTimer( HWND hWnd, // 窗口句柄 UINT_PTR nIDEvent, // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器 UINT uElapse, // 时间间隔,单位为毫秒 TIMERPROC lpTimerFunc // 回调函数);注意:设置第二个参数时要注意,如果设置的等待时间比处理时间短,程序就会出问题了。回调函数:在这个函数里原创 2011-04-02 04:00:00 · 622 阅读 · 0 评论 -
static_cast与reinterpret_cast的区别
<br />C++中的static_cast执行非多态的转换,用于代替C中通常的转换操作。因此,被做为隐式类型转换使用。比如:int i;float f = 166.7f;i = static_cast<int>(f);<br /><br /> 此时结果,i的值为166。<br /> 2、C++中的reinterpret_cast主要是将数据从一种类型的转换为另一种类型。所谓“通常为操作数的位模式提供较低层的重新解释”也就是说将数据以二进制存在形式的重新解释。比如:int i;cha转载 2011-04-07 14:42:00 · 302 阅读 · 0 评论