自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (1)
  • 收藏
  • 关注

原创 C/C++输出流写文件的一点误区

先看下面的代码:#include #include using namespace std;int main(int argc, char* argv[]){ ofstream of; of.open("d://temp");//文件tempWORD a = 0x1234; of.write((char*) &a, sizeof(WORD)); of.close();} 最后写入文件的

2008-04-18 14:24:00 898

转载 CArchive类原理

CArchive原理   一.概述  CArchive使用了缓冲区,即一段内存空间作为临时数据存储地,对CArchive的读写都先依次排列到此缓冲区,当缓冲区满或用户要求时,将此段整理后的数据读写到指定的存储煤质。 当建立CArchive对象时,应指定其模式是用于缓冲区读,还是用

2008-03-05 20:21:00 1659 1

转载 VC下使用CRT进行内存泄漏检测

转自MSDN检测内存泄漏的主要工具是调试器和 C 运行时库 (CRT) 调试堆函数。若要启用调试堆函数,请在程序中包括以下语句: 复制代码#define _CRTDBG_MAP_ALLOC#include #include 注意

2008-03-04 16:46:00 723

转载 常用编码详解(转自VCKBASE)作者:李静南

  常用编码详解一、通用字符集(UCS)ISO/IEC 10646-1 [ISO-10646]定义了一种多于8比特字节的字符集,称作通用字符集(UCS),它包含了世界上大多数可书写的字符系统。已定义了两种多8比特字节编码,对每一个字符采用四个8比特字节编码的称为UCS-4,对每一个字符采用两个8比特字节编码的称为UCS-2。它们仅能够对UCS的前64K字符进行编址,超出此范围的其它部分当前

2008-03-01 16:22:00 651

原创 网络流

网络流流(stream)是对串行传输的数据的一种抽象表示,底层的设备可以是文件、外部设备、主存、网络套接字等。     流有三种基本的操作:写入、读取和查找。     若数据从内存缓冲区传输到外部源,这样的流叫作“写入流”。     若数据从外部源传输到内存缓冲区,这样的流叫作“读取流”。       C#在System.Net.Sockets名称空间中提供了一个专门的NetworkStr

2008-02-18 14:33:00 773

原创 IPEndPoint类

在C#中,IPEndPoint类包含了应用程序连接到主机上的服务所需的IP地址和端口信息。     IPEndPoint类常用的构造函数为: public IPEndPoint(IPAddress, int);        其中第一个参数指定IP地址,第二个参数指定端口号。例 :IPAddress类、Dns类、IPHostEntry类和IPEndPoint类的使用方法。 

2008-02-18 14:31:00 3130

原创 IPHostEntry类(C#)

IPHostEntry类的实例对象中包含了Internet主机的相关信息。      常用属性有:AddressList属性和HostName属性。     AddressList属性作用:获取或设置与主机关联的IP地址列表,是一个IPAddress类型的数组,包含了指定主机的所有IP地址;HostName属性则包含了服务器的主机名。     在Dns类中,有一个专门获取IPHostEntry对象

2008-02-18 14:29:00 5840

原创 Dns类(C#)

Dns类提供了一系列静态的方法,用于获取提供本地或远程域名等功能,常用方法有:  1) GetHostAddresses方法 获取指定主机的IP地址,返回一个IPAddress类型的数组。      函数原形为:public static IPAddress[] GetHostAddresses(string hostNameOrAddress);例如:IPAddress[] ip=Dns.Get

2008-02-18 14:27:00 1625

原创 IPAddress类

IPAddress类提供了对IP地址的转换、处理等功能。其Parse方法可将IP地址字符串转换为IPAddress实例。如:IPAddress ip = IPAddress.Parse(“192.168.1.1”); IPAddress类提供了7个只读字段:Any   表示本地系统可用的任何IP地址Broadcast    表示本地网络的IP广播地址IPv6Any    Socket.Bind方法

2008-02-18 14:25:00 1615

转载 如何:使用字典存储事件实例(C# 编程指南)

  C# 编程指南如何:使用字典存储事件实例(C# 编程指南) accessor-declarations 的一种用法是公开大量的事件但不为每个事件分配字段,而是使用字典来存储这些事件实例。这只有在具有非常多的事件、但您预计大部分事件都不会实现时才有用。示例C#复制代码public delegate void EventHandler1(int i);publi

2008-02-12 15:26:00 1187

转载 如何:引发派生类中的基类事件(C# 编程指南)

  C# 编程指南如何:引发派生类中的基类事件(C# 编程指南) 以下简单示例演示了在基类中声明可从派生类引发的事件的标准方法。此模式广泛应用于 .NET Framework 基类库中的 Windows 窗体类。在创建可用作其他类的基类的类时,必须考虑如下事实:事件是特殊类型的委托,只可以从声明它们的类中调用。派生类无法直接调用基类中声明的事件。尽管有时您可能希望某个事件只能通

2008-02-12 15:25:00 962

转载 如何:实现接口事件(C# 编程指南)

  C# 编程指南如何:实现接口事件(C# 编程指南) 接口可声明事件。下面的示例演示如何在类中实现接口事件。接口事件的实现规则与任何接口方法或属性的实现规则基本相同。在类中实现接口事件在类中声明事件,然后在适当的位置调用该事件。 复制代码public interface IDrawingObject{    event EventHandler S

2008-02-12 15:25:00 1711

转载 如何:发布符合 .NET Framework 准则的事件(C# 编程指南)

  C# 编程指南如何:发布符合 .NET Framework 准则的事件(C# 编程指南) 下面的过程演示了如何将符合标准 .NET Framework 模式的事件添加到您自己的类和结构中。.NET Framework 类库中的所有事件均基于 EventHandler委托,定义如下: 复制代码public delegate void EventHandler(ob

2008-02-12 15:24:00 764

转载 如何:订阅和取消订阅事件(C# 编程指南)

  C# 编程指南如何:订阅和取消订阅事件(C# 编程指南) 如果您想编写引发事件时调用的自定义代码,则可以订阅由其他类发布的事件。例如,可以订阅某个按钮的“单击”事件,以使应用程序在用户单击该按钮时执行一些有用的操作。使用 Visual Studio 2005 IDE 订阅事件如果“属性”窗口不可见,请在“设计”视图中,右击要创建事件处理程序的窗体或控件,然后选择

2008-02-12 15:23:00 2822

转载 事件(C# 编程指南)

  事件(C# 编程指南) 在发生其他类或对象关注的事情时,类或对象可通过事件通知它们。发送(或引发)事件的类称为“发行者”,接收(或处理)事件的类称为“订户”。在典型的 C# Windows 窗体或 Web 应用程序中,可订阅由控件(如按钮和列表框)引发的事件。可使用 Visual C# 集成开发环境 (IDE) 来浏览控件发布的事件,选择要处理的事件。IDE 会自动添加空事件处

2008-02-12 15:22:00 595

转载 如何:声明、实例化和使用委托(C# 编程指南)

  C# 编程指南如何:声明、实例化和使用委托(C# 编程指南) 委托的声明如下所示:C#复制代码public delegate void Del(T item);publicvoid Notify(int i) { }C#复制代码Delint> d1 = new Delint>(Notify);在 C# 2.0 中,还可以使用下面的简化语法来声明委

2008-02-12 15:21:00 815

原创 如何:合并委托(多路广播委托)(C# 编程指南)

  C# 编程指南如何:合并委托(多路广播委托)(C# 编程指南) 本示例演示如何组合多路广播委托。委托对象的一个用途在于,可以使用 + 运算符将它们分配给一个要成为多路广播委托的委托实例。组合的委托可调用组成它的那两个委托。只有相同类型的委托才可以组合。- 运算符可用来从组合的委托移除组件委托。示例C#复制代码delegate void Del(string

2008-02-12 15:20:00 812

转载 何时使用委托而不使用接口(C# 编程指南)

C# 编程指南何时使用委托而不使用接口(C# 编程指南) 委托和接口都允许类设计器分离类型声明和实现。给定的接口可由任何类或结构继承和实现;可以为任何类中的方法创建委托,前提是该方法符合委托的方法签名。接口引用或委托可由不了解实现该接口或委托方法的类的对象使用。既然存在这些相似性,那么类设计器何时应使用委托,何时又该使用接口呢?在以下情况中使用委托:当使用事件设计模式时。当

2008-02-12 15:19:00 603

转载 委托中的协变和逆变(C# 编程指南)

  C# 编程指南委托中的协变和逆变(C# 编程指南) 将方法签名与委托类型匹配时,协变和逆变为您提供了一定程度的灵活性。协变允许方法具有的派生返回类型比委托中定义的更多。逆变允许方法具有的派生参数类型比委托类型中的更少。 示例 1(协变) 本示例演示如何将委托与具有返回类型的方法一起使用,这些返回类型派生自委托签名中的返回类型。由 SecondHandler 返回的数据类

2008-02-12 15:19:00 642

转载 匿名方法(C# 编程指南)

  C# 编程指南匿名方法(C# 编程指南) 在 2.0 之前的 C# 版本中,声明委托的唯一方法是使用命名方法。C# 2.0 引入了匿名方法。要将代码块传递为委托参数,创建匿名方法则是唯一的方法。例如:C#复制代码// Create a handler for a click eventbutton1.Click += delegate(System.Obje

2008-02-12 15:18:00 860 1

转载 命名方法(C# 编程指南)

  C# 编程指南命名方法(C# 编程指南) 委托可以与命名方法关联。使用命名的方法对委托进行实例化时,该方法将作为参数传递,例如:C#复制代码// Declare a delegate:delegate void Del(int x); // Define a named method:void DoWork(int k) { /* ... */ }

2008-02-12 15:17:00 618

转载 使用委托(C# 编程指南)

  C# 编程指南使用委托(C# 编程指南) 委托是一种安全地封装方法的类型,它与 C 和 C++ 中的函数指针类似。与 C 中的函数指针不同,委托是面向对象的、类型安全的和保险的。委托的类型由委托的名称定义。下面的示例声明了一个名为 Del 的委托,该委托可以封装一个采用字符串作为参数并返回 void 的方法。C#复制代码public delegate void De

2008-02-12 15:14:00 533

转载 委托(C# 编程指南)

委托(C# 编程指南) 委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托方法的使用可以像其他任何方法一样,具有参数和返回值,如下面的示例所示:C# 复制代码public delegate int PerformCalculation(int x, int y);与委托的签名(由返回类型和参数组成)匹配的任

2008-02-12 15:13:00 419

转载 如何:声明和使用读/写属性(C# 编程指南)

  C# 编程指南如何:声明和使用读/写属性(C# 编程指南) 属性可以提供公共数据成员的便利,而又不会带来不受保护、不受控制以及未经验证访问对象数据的风险。这是通过“访问器”来实现的:访问器是为基础数据成员赋值和检索其值的特殊方法。使用 set 访问器可以为数据成员赋值,使用 get 访问器可以检索数据成员的值。此示例演示 Person 类,该类具有两个属性:Name (st

2008-02-12 14:38:00 735

转载 非对称访问器可访问性(C# 编程指南)

  C# 编程指南非对称访问器可访问性(C# 编程指南) 属性或索引器的 get 和 set 部分称为“访问器”。默认情况下,这些访问器具有相同的可见性或访问级别:其所属属性或索引器的可见性或访问级别。有关更多信息,请参见可访问性级别。不过,有时限制对其中某个访问器的访问会很有用。通常是在保持 get 访问器可公开访问的情况下,限制 set 访问器的可访问性。例如:C#复制

2008-02-12 14:37:00 597

转载 接口属性(C# 编程指南)

  C# 编程指南接口属性(C# 编程指南) 可以在接口(C# 参考)上声明属性。以下是接口索引器访问器的示例:C#复制代码public interface ISampleInterface{    // Property declaration:    string Name    {        get;        set;   

2008-02-12 14:36:00 1604

转载 使用属性(C# 编程指南)

  C# 编程指南使用属性(C# 编程指南) 属性结合了字段和方法的多个方面。对于对象的用户,属性显示为字段,访问该属性需要完全相同的语法。对于类的实现者,属性是一个或两个代码块,表示一个 get访问器和/或一个 set访问器。当读取属性时,执行 get 访问器的代码块;当向属性分配一个新值时,执行 set 访问器的代码块。不具有 set 访问器的属性被视为只读属性。不具有

2008-02-12 14:35:00 646

转载 属性和索引器之间的比较(C# 编程指南)

C# 编程指南属性和索引器之间的比较(C# 编程指南) 索引器与属性类似。除下表中显示的差别外,为属性访问器定义的所有规则同样适用于索引器访问器。 属性 索引器 允许调用方法,如同它

2008-02-12 14:33:00 727

转载 属性(C# 编程指南)

  C# 编程指南属性(C# 编程指南) 属性是这样的成员:它们提供灵活的机制来读取、编写或计算私有字段的值。可以像使用公共数据成员一样使用属性,但实际上它们是称为“访问器”的特殊方法。这使得数据在可被轻松访问的同时,仍能提供方法的安全性和灵活性。在本示例中,类 TimePeriod 存储了一个时间段。类内部以秒为单位存储时间,但提供一个称为 Hours 的属性,它允许客户端指

2008-02-12 14:33:00 432

转载 接口中的索引器(C# 编程指南)

  接口中的索引器(C# 编程指南) 索引器可在接口(C# 参考)上声明。接口索引器的访问器与类索引器的访问器具有以下方面的不同:接口访问器不使用修饰符。接口访问器没有体。因此,访问器的用途是指示索引器是读写、只读还是只写。以下是接口索引器访问器的示例:C#复制代码public interface ISomeInterface{    //...

2008-02-12 14:32:00 600

转载 使用索引器(C# 编程指南)

  C# 编程指南使用索引器(C# 编程指南) 索引器允许您按照处理数组的方式索引类、结构或接口。有关对接口使用索引器的更多信息,请参见接口索引器。要声明类或结构上的索引器,请使用 this 关键字,如下例所示:复制代码public int this[int index]    // Indexer declaration{    // get and set

2008-02-12 14:31:00 868

转载 索引器(C# 编程指南)

  C# 编程指南索引器(C# 编程指南) 索引器允许类或结构的实例按照与数组相同的方式进行索引。索引器类似于属性,不同之处在于它们的访问器采用参数。在下面的示例中,定义了一个泛型类,并为其提供了简单的 get 和 set 访问器方法(作为分配和检索值的方法)。Program 类为存储字符串创建了此类的一个实例。C#复制代码class SampleCollectio

2008-02-12 14:29:00 464

原创 C#事件

C#事件事件是C#语言内置的语法,可以定义和处理事件,为使用组件编程提供了良好的基础。 1 事件驱动  Windows应用程序和dos程序的最大不同是采用事件驱动方式工作,也叫消息驱动。dos程序如要从键盘输入数据,则要独占键盘等待用户输入,如用户不输入,则CPU一直执行键盘输入程序,等待用户输入,即dos程序独占外设和CPU。    Windows操作系统是一个多任务的操作系统,允许

2008-02-10 17:36:00 1245

原创 IDR_MAINFRAME字符串资源中各子串的含义

IDR_MAINFRAME字符串资源中各子串的含义IDR_MAINFRAME字符串资源中包含7个子串,分别以/n结束,即如下格式:/n/n/n/n/n/n/n(1)CDocTemplate::windowTitle,主窗口标题栏上的字符串,MDI程序不需要指定,将以IDR_MAINFRAME字符串为默认值。(2)CDocTemplate::docName,缺省文档的名称。如果没有指

2008-01-30 19:21:00 11145 1

原创 如何修改MFC窗口标题

如何修改MFC窗口标题MFC程序的默认的标题是“无标题-title”,其中title是应用程序的名称,我们应如何修改MFC窗口标题来符合自己的要求?    MFC程序的文档类中定义了一个虚函数SetTitle,用于设置窗口标题的前半部分,如果只是要修改“无标题”部分,可以重载文档类的该函数。窗口标题的后半部分可以通过SetWindowText设置,也可以编辑字符串资源中的IDR_MAINFRA

2008-01-30 18:27:00 11685

面试的 27 个经典问题

网上找到的面试的 27 个经典问题

2008-05-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除