欢迎访问 水平网    今天是:2018年01月16日 注册 | 登录 | 订阅 | 收藏
推荐文章
热点文章
专题
JQuery框架
Prototype.js
HTML5

缓冲文件系统

在前面的程序设计中,我们介绍了输入和输出,即从标准输入设备—键盘输入,由标准输出设备—显示器或打印机输出。不仅如此,我们也常把磁盘作为信息载体,用于保存中间结果或最终数据。在使用一些字处理工具时,会利用打开一个文件来将磁盘的信息输入到内存,通过关闭一个文件来实现将内存数据输出到磁盘。这时的输入和输出是针对文件系统,故文件系统也是输入和输出的对象,谈到输入和输出,自然也离不开文件系统。文件可以从不同的角度来分类:1) 按文件所依附的介质来分:有卡片文件、纸带文件、磁带文件、磁盘文件等。2) 按文件内容来分:有源文件、目标文件、数据文件等。3) 按文件中数据组织形式分:有字符文件和二进制文件。字符...
类别:C/S程序开发 - C/C++,阅读:789,更新:2014-10-13

C语言基础教程:数据类型、变量和运算符

本节首先介绍Turbo C程序的基本组成部分; 然后介绍Turbo C的数据类型、变量类型、变量的初始化和赋值; 最后介绍Turbo C的有关操作。 通过本节的学习, 可以对Turbo C语言有一个初步认识。 1. Turbo C程序的一般组成部分 Turbo C 2.0 象其它语言一样按其规定的格式和提供的语句由用户编写应用程序。请看下面一段Turbo C源程序。 例1: /*Example program of Turbo C*/ #include <stdio.h> /*包含文件说明*/ void lgc(void); /*子函数说明*/ char answer; /*定义全程变量*/ int main() /*主函数定义*/ { char a; /*定义局部变量*/ clrscr(); gotoxy(12,3); puts("Welcome to use Turbo C2.0!"); gotoxy(15, 13);...
类别:C/S程序开发 - C/C++,阅读:673,更新:2014-10-13

C/C++内存耗尽怎么办

如果在申请动态内存时找不到足够大的内存块,malloc 和new 将返回NULL 指针,宣告内存申请失败。通常有三种方式处理“内存耗尽”问题。 (1)判断指针是否为NULL,如果是则马上用return 语句终止本函数。例如: void Func(void) { A *a = new A; if(a == NULL) { return; } … } (2)判断指针是否为NULL,如果是则马上用exit(1)终止整个程序的运行。例如: void Func(void) { A *a = new A; if(a == NULL) { cout << “Memory Exhausted” << endl; exit(1); } … } (3)为new 和malloc 设置异常处理函数。例如Visual C++可以用_set_new_hander 函数为new 设置用户...
类别:C/S程序开发 - C/C++,阅读:654,更新:2014-10-13

C++引用与指针比较

一、比较一引用是C++中的概念,初学者容易把引用和指针混淆一起。 一下程序中,n是m的一个引用(reference),m是被引用物(referent)。 int m; int &n = m; n相当于m的别名(绰号),对n的任何操作就是对m的操作。 所以n既不是m的拷贝,也不是指向m的指针,其实n就是m它自己。 引用的规则: (1)引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。 (2)不能有NULL引用,引用必须与合法的存储单元关联(指针则可以是NULL)。 (3)一旦引用被初始化,就不能改变引用的关系(指针则可以随时改变所指的对象)。 以下示例程序中,k被初始化为i的引用。 语句k = j并不能将k修改成为j的引用,只是把k的值改变成为6。 由...
类别:C/S程序开发 - C/C++,阅读:764,更新:2014-10-13

C语言编译全过程剖析

 编译的概念:编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。编译的完整过程:C源程序-->预编译处理(.c)-->编译、优化程序(.s、.asm)-->汇编程序(.obj、.o、.a、.ko)-->链接程序(.exe、.elf、.axf等) 1. 编译预处理读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理伪指令主要包括以下四个方面:(1)宏定义指令,如#define Name TokenString,#undef等。对于前一个伪指令,预编译所要做的是将程序中的所有Name用TokenString替换,但作为字符串...
类别:C/S程序开发 - C/C++,阅读:735,更新:2014-10-13

用c++实现简单的大小写转换

本例子利用构造函数的调用实现#include <iostream.h>class Sample{char c1,c2;public:Sample(char a) {c2=(c1=a)-32;}void print(){cout<<c1<<"转换为"<<c2<<endl;}};void main(){Sample a('a'),b('b');a.print();b.print();}程序执行结果:a转换为Ab转换为BPress any key to continue
类别:C/S程序开发 - C/C++,阅读:729,更新:2014-10-13

C#中如何得到主机名与IP地址

/* * 文件名称:GetIpAndName * 文件标识:见配置管理计划书 * 文件摘要:得到本地主机的名字与IP */ using System; using System.Net;  namespace GetIpAndName { class Class1 { [STAThread] static void Main(string[] args) { //得到主机名 string name = Dns.GetHostName(); Console.WriteLine("主机名字:{0}",name); IPHostEntry me = Dns.GetHostByName(name); //输出得到的IP foreach (IPAddress ip in me.AddressList) { Console.WriteLine("IP 地址:{0}",ip.ToString()); } Console.Read(); } } }...
类别:C/S程序开发 - C/C++,阅读:739,更新:2014-10-13

利用Visual C#编程模拟鼠标操作

有时,我们需在我们的程序中模拟鼠标的移动、点击等动作。——比如,一个再现用户操作的宏,或者一个演示操作方法的Demo程序。那么,我们在.Net中如何实现呢?   .Net并没有提供改变鼠标指针位置、模拟点击操作的函数;但是Windows API提供了。其中一个是:[DllImport("user32.dll")]static extern bool SetCursorPos(int X, int Y);   该函数可以改变鼠标指针的位置。其中X,Y是相对于屏幕左上角的绝对位置。  另一个函数是:[DllImport("user32.dll")]static extern void mouse_event(MouseEventFlag flags, int dx, int dy, uint data, UIntPtr extraInfo);  这个函数不仅可以...
类别:C/S程序开发 - C/C++,阅读:696,更新:2014-10-13

在C++中实现库动态初始化

很多程序库都需要在使用前初始化,并在使用后释放。举个例子,假设我们准备基于WinSock封装一个C++的Socket类库,不妨就把它叫做CppSocket吧,CppSocket库将包括acceptor、connector和transceiver三个类的实现(这里,我们使用了acceptor-connector模式)。一般情况下,我们需要在CppSocket中实现initialize()和destroy()方法,分别用来处理CppSocket库的初始化和资源释放,在我们的例子中,这两个方法其实主要就是用来实现WinSock库的初始化和释放,显然,它们将分别调用到WinSock的WSAStartup()和WSACleanup()两个方法,例如: void initialize() { … WSAStartup(version, &data); … } void des...
类别:C/S程序开发 - C/C++,阅读:734,更新:2014-10-13

如何终止zhudongfangyu.exe进程

360这个zhudongfangyu.exe进程 真是烦人,直接中止是不行的,除非删除360不知道行不行,我没试过,如果真不行,那可真是流氓了!这里有一个办法,首先打开360卫士中的木马防火墙,在设置里边将自我保护临时关闭,然后在命令行窗口执行如下命令:taskkill /im zhudongfangyu.exe /f这样关闭了,然后到系统服务里边将zhudongfangyu这个家伙改为手动启动或者禁用!
类别:系统/服务器 - Windows,阅读:842,更新:2014-09-21

C语言实现mysql中存取二进制文件

最近搞mysql,这两天想用C把二进制文件(<64k,大的就存储路径了)存储到数据库里,经过我‘不懈’的搜索,发现NET上有且只有一个版本(php为例的),根本在C里行不通,我吐了一口血(之后又吐了好几次)!最后还是在mysql手册里找到了方向,是mysql_real_escape_string给了我光明,好了,不罗嗦了,不然要有矿泉水瓶砸过来了!为了不让其它初学者吐血,我把我的code共享一下,希望大侠们指正,也欢迎鸡蛋和西红柿:m01::m01::m01: #include #include #include #include #include #include #define host "localhost" //mysql server #define username "root" #define password "cipher" #define ...
类别:C/S程序开发 - C/C++,阅读:1837,更新:2014-09-15

用VC在程序的状态栏中实现进度条

  读者朋友们可能天天使用Visual C++这个强大的工具来开发应用程序,不知道注意到没有,Visual C++每次装载一个项目的时候,为了使项目加载过程不至于太单调,会在状态栏的左半部分会出现一个装载进度条,用来即时显示Visual C++装载项目的进度,当项目装载完毕后,进度条隐藏。那么这个功能是如何实现的呢?为了说明该功能的实现原理,本例提供了一个范例程序prgsbar,它演示了在编辑视图里显示文本文件,在加载文本文件时,在界面的状态条中的进度指示器仿真显示文件的加载过程,当文本装载完毕后,进度条隐藏。由于该程序在装载文件显示的进度条时无法进行拷屏操作,所以这里没有给出状态条中显示进度条的界面效果图,读者可以运行本书...
类别:C/S程序开发 - C/C++,阅读:823,更新:2014-09-15