摘要: 定义:内嵌类是在类体内定义的又一个类。外面的类叫外围类。VC6中 类的嵌套类中的非静态成员函数可以访问外围类的公有静态成员函数#include<iostream>using namespace std;class out {public: static int a;public: class in { public: void showA() { cout<<"a = "<<a<<endl; } };};int out::a = 3;int main() { out::in i; i.showA(); ... 阅读全文
posted @ 2013-03-11 10:36 msober 阅读(790) 评论(0) 推荐(0) 编辑
摘要: C语言读写文件有两种方式ASCII 和 二进制。现在举例说明:内存中的字符或字符串都是文本模式(unicode编码存储,统一长度,定长码,方便)内存中的其他变量都是以二进制编码存储程序的代码以文本模式ASCII码方式存储1.在windows系统中,文本模式下,文件以" \r\n"代表换行。若以文本模式打开文件,并用fputs等函数写入换行符"\n"时,函数会自动在"\n"前面加上"\r"。即实际写入文件的是"\r\n" 。读取的时候自动去掉\r,将\n写入内存。2.在类Unix/Linux系统中 阅读全文
posted @ 2013-03-02 21:18 msober 阅读(20317) 评论(0) 推荐(2) 编辑
摘要: TurboC中用ASCII往文件写汉字的问题"百度"两字的ASCII码分别为:百:B0 D9 度:B6 C8如果要向test_ascii.txt写入"百"字,则可以这样写代码:#include<stdio.h>main(){FILE *fp1;/*因为一个汉字占两个字节*/int ascii1,ascii2;/*所以我定义两个整型变量ascii1和ascii2,分别用来存储"百"字前后两个字节*/fp1=fopen("test_ascii.txt","wb+");ascii1=0xB 阅读全文
posted @ 2013-03-02 20:46 msober 阅读(1109) 评论(0) 推荐(0) 编辑
摘要: 主要应用技术:预先计算结果,日期处理技巧题目描述有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天输入有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD输出每组数据输出一行,即日期差值样例输入2013010120130105样例输出5来源2009年上海交通大学计算机研究生机试真题 1 #include<stdio.h> 2 3 int isRun(int year) { 4 if( ((year%4 ==0) && (year%100!=0)) || year%400 == 0) { 5 return 1; 6 .. 阅读全文
posted @ 2013-03-01 16:02 msober 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 一、内存基本构成 可编程内存在基本上分为这样的几大部分:静态存储区、堆区和栈区。他们的功能不同,对他们使用方式也就不同。 静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据、全局数据和常量。 栈区:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 堆区:亦称动态内存分配。程序在运行的时候用malloc或new申请任意大小的内存,程序员自己负责在适当的时候用free或delete释放内存。动态内存的生存期可以由我们决定,如果我们不 阅读全文
posted @ 2013-03-01 15:52 msober 阅读(5733) 评论(1) 推荐(1) 编辑
摘要: 1.防止一个头文件被重复包含:#ifndef COMDEF_H#define COMDEF_H//头文件内容#endif当你所建的工程有多个源文件组成时,很可能会在多个文件里头包含了同一个头文件,如果借用上面的宏定义就能够避免同一个头文件被重复包含时进行多次编译。因为当它编译第一个头文件时总是没有定义#define COMDEF_H,那么它将编译一遍头文件中所有的内容,包括定义#define COMDEF_H。这样编译再往下进行时如果遇到同样要编译的头文件,那么由于语句#ifndef COMDEF_H的存在它将不再重复的编译这个头文件。2.通过宏定义使得同一数据类型的字节数不因不同的平台或不同 阅读全文
posted @ 2013-02-28 21:37 msober 阅读(3165) 评论(0) 推荐(0) 编辑
摘要: //90=2*3*3*5 //非递归#include<stdio.h>int main() { int n; while(scanf("%d",&n)!=EOF) { int b; while(n!=1) { int i; for(i=2;i<n;i++) { if(n%i==0) { printf("%d*",i); n = n/i; break; ... 阅读全文
posted @ 2013-02-28 20:38 msober 阅读(375) 评论(0) 推荐(0) 编辑
摘要: #include<iostream>using namespace std;int gcd(int a,int b) {if(b!=0) {return gcd(b,a%b);}return a;}int main() {int a,b;while (cin>>a && cin>>b) {cout<<gcd(a,b)<<endl;}return 0;} 阅读全文
posted @ 2013-02-22 17:21 msober 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 当我们求解acm题目时,通常在设计好算法和程序后,要在调试环境(例如VC等)中运行程序,输入测试数据,当能得到正确运行结果后,才将程序提交到oj中。但由于调试往往不能一次成功,每次运行时,都要重新输入一遍测试数据,对于有大量输入数据的题目,输入数据需要花费大量时间。 使用freopen函数可以解决测试数据输入问题,避免重复输入,不失为一种简单而有效的解决方法。 函数名:freopen 声明:FILE *freopen( const char *path, const char *mode, FILE *stream ); 所在文件: stdio.h 参数说明: path: 文件... 阅读全文
posted @ 2013-02-19 16:31 msober 阅读(1490) 评论(0) 推荐(0) 编辑
摘要: ntsysv 设置服务启动rpm -e 软件包名字 删除rpm -qa 查找所有已安装的软件包tar命令tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩!tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩将c换成x是解压 tar -zxvf /tmp/a.jar换成t是查看tar -ztvf /tmp/etc.tar.gz 复制文件夹cp -vRp 源文件夹 目标文件夹 可以绝对路径,也可以相对路... 阅读全文
posted @ 2013-02-04 17:30 msober 阅读(2689) 评论(0) 推荐(0) 编辑