十二纹章
十二纹章
关注数: 1
粉丝数: 17
发帖数: 4,211
关注贴吧数: 25
求背景音乐-__-
星期天要去北京了,听说那里降温了,降到什么程度了? 需要穿什么衣服?谢谢。。。
16号的帖子怎么不见了? rt被百度抽掉了?
试一下 。。。
中秋节快到了,祝大家中秋愉快~ RT
[转]悟透JavaScript 转一篇不错的javascript文章。
自己对javascript的一些总结 和吧友分享一下
成为会员,庆贺一下~ 撒花。
14:40 颁奖仪式~ 08-23 12:00 足球 男子足球 决赛 国家体育场 08-23 14:40 足球 男子足球 颁奖仪式 国家体育场 http://2008.baidu.com/olympic/schedule/search/date_start/2008-08-23/bigitem/30
刘翔的伤可以治好吗? 在电视上说是老伤了,很难治。下届奥运会的时候会不会治好呢?
貌似开始了~ o_o
31公斤。。。 -_-
女团、男团两块最重要的金牌,嘿嘿~ 祝贺中国军团~!!!
结束了 1比1
我们女足的过人动作很帅~ 顶!
我2M的网线怎么还有100+ms的延迟? 兄弟们用的都是几M的网线呀*_*....
唐家山和唐家堡什么关系? 如题~
发现一个神奇的水楼 http://tieba.baidu.com/f?z=306987344&ct=335544320&lm=0&sc=0&rn=50&tn=baiduPostBrowser&word=%B2%CC%D2%C0%C1%D6&pn=1516000
凤凰涅磐,浴火重生~ 希望灾区人民勇敢地振作起来。明天的太阳依然会升起,我们一定要化悲痛为力量~
hi,mars_venus hi
冬至吃饺子的由来 转于新华网http://www.sd.xinhuanet.com/qlys05/2007-12/21/content_12012171.htm 每年农历冬至这天,不论贫富,饺子是必不可少的节日饭。谚云:“十月一,冬至到,家家户户吃水饺。”这种习俗,是因纪念“医圣”张仲景冬至舍药留下的。 张仲景是南阳稂东人,他著《伤寒杂病论》,集医家之大成,被历代医者奉为经典。张仲景有名言:“进则救世,退则救民;不能为良相,亦当为良医。”东汉时他曾任长沙太守,访病施药,大堂行医。后毅然辞官回乡,为乡邻治病.其返乡之时,正是冬季。他看到白河两岸乡亲面黄肌瘦,饥寒交迫,不少人的耳朵都冻烂了。便让其弟子在南阳东关搭起医棚,支起大锅,在冬至那天舍“祛寒娇耳汤”医治冻疮。他把羊肉、辣椒和一些驱寒药材放在锅里熬煮,然后将羊肉、药物捞出来切碎,用面包成耳朵样的“娇耳”,煮熟后,分给来求药的人每人两只“娇耳”,一大碗肉汤。人们吃了“娇耳”,喝了“祛寒汤”,浑身暖和,两耳发热,冻伤的耳朵都治好了。后人学着“娇耳”的样子,包成食物,也叫“饺子”或“扁食”。 冬至吃饺子,是不忘“医圣”张仲景“祛寒娇耳汤”之恩。至今南阳仍有“冬至不端饺子碗,冻掉耳朵没人管”的民谣。(完)
一个批处理文件 功能:建立5个文件夹,设置共享,设置权限。@Echo Offset TEMP=c:\FaxFolder\md %TEMP%DestFaxmd %TEMP%SourFaxmd %TEMP%ExceptionPdfmd %TEMP%ReceiverPdfmd %TEMP%Templatenet share DestFax=%TEMP%DestFax /grant:everyone,fullnet share SourFax=%TEMP%SourFax /grant:everyone,fullnet share ExceptionPdf=%TEMP%ExceptionPdf /grant:everyone,fullnet share ReceiverPdf=%TEMP%ReceiverPdf /grant:everyone,fullnet share Template=%TEMP%Template /grant:everyone,fullecho y|cacls %TEMP%DestFax /T /G everyone:Fecho y|cacls %TEMP%SourFax /T /G everyone:Fecho y|cacls %TEMP%ExceptionPdf /T /G everyone:Fecho y|cacls %TEMP%ReceiverPdf /T /G everyone:Fecho y|cacls %TEMP%Template /T /G everyone:F取消共享@Echo Offnet share DestFax /delnet share SourFax /delnet share ExceptionPdf /delnet share ReceiverPdf /delnet share Template /del
自爆卡车来啦,大家小心^_^ 。。。
忠心祝福
发几个Cosplay~ 没看过的看一下,看过的友情路过。。。
Javascript学习笔记 记录我的Javascript学习历程。
中秋快乐~ 祝大家中秋快乐~
中秋快乐! 中秋快乐!
平生第一款正版软件 ^_^
编程日志 这几天我的VS2005一直无法调试,在调试的时候显示“无法绑定句柄”。在网上搜到了两个解决方法(我用第一个成功了,但不大明白是什么原因...):方法1:把Terminal Services 这个服务打开。方法2:将项目属性调试里的:启动非托管代码调试 钩上
哈哈,turetype版本的fixedsys字体 http://www.fixedsysexcelsior.com/
关于在VMware中装linux进入图形界面的问题 一定要VMware tools,它的安装文件在VMware的主目录中,名字是linux.iso。要把它挂载到虚拟机的光驱上。
对一个标签设设置两个class属性 可以这样做:
有兴趣的来讨论一下UD内战的残局。 今天下午我打了局UD内战,到后期的时候,我的部队有:lich5级,DK3级,4个zz,两个g,两个血车;对方的部队有:lich4级,DK4级,2级的小强,一个血车;我们的主矿都爆了,没开出分矿。这时应该怎么打?我当时仗着自己的部队多,就在他的基地打了一仗,结果我的4个ZZ,两个g,全交待到那了-_-!!我现在觉得如果那时卖些建筑,然后召个三英雄要好一些,大家怎么看呢?
我的电竞装备 。。
人品爆发^_^ ...
大家推荐个键盘吧 价位大概在200-300吧。本来想买dt35,但今天转了一天都没货。
今天买了金环蛇,适应中。。。 好像不大习惯这么贵的鼠标。。。
求救,关于指针转换的问题。 假如有一个函数:void test(int *p, int n){}其中p指向一片有n*n个整型元素的内存,在这个函数中,我应该如何转换指针p,才能像操纵二维数组那样,来操纵这片内存?就像这种形式来访问其中的元素a[1][2]。先谢谢了~
一个很好的网站kissbaidu http://www.kissbaidu.com/
Dev C++中无法调试的问题解决啦~ 在Dev C++ 中点击调试时,弹出“Your project does not have debugging information, do you want to enable debugging and rebuild your project?”就算点击Yes也无法调试的问题解决了。在Tools->Compiler Options->Compiler面板中的"Add the following commands when calling compiler"中添加 -g 参数即可。
学深为师,品正为范 毕业后,虽然没有当老师,但这句话一定会永记在心。
.net和java Java 的理想是“在多种平台上使用一种语言”.NET 的理想是“多种语言共享一种平台”
hmx,请在这里看 http://hi.baidu.com/daibao9922/blog
系统说我发的内容太长了。。。 。。。
常用软件的下载地址 VC with sp6http://shdxxz.webeyp.com/VC++.6.0.with.SP6.rar
[C++][转]C++字符串完全指南 前言字符串的表现形式各异,象TCHAR,std::string,BSTR等等,有时还会见到怪怪的用_tcs起头的宏。这个指南的目的就是说明各种字符串类型及其用途,并说明如何在必要时进行类型的相互转换。在指南的第一部分,介绍三种字符编码格式。理解编码的工作原理是致为重要的。即使你已经知道字符串是一个字符的数组这样的概念,也请阅读本文,它会让你明白各种字符串类之间的关系。指南的第二部分,将阐述各个字符串类,什么时候使用哪种字符串类,及其相互转换。字符串基础 - ASCII, DBCS, Unicode所有的字符串类都起源于C语言的字符串,而C语言字符串则是字符的数组。首先了解一下字符类型。有三种编码方式和三种字符类型。第一种编码方式是单字节字符集,称之为SBCS,它的所有字符都只有一个字节的长度。ASCII码就是SBCS。SBCS字符串由一个零字节结尾。第二种编码方式是多字节字符集,称之为MBCS,它包含的字符中有单字节长的字符,也有多字节长的字符。Windows用到的MBCS只有二种字符类型,单字节字符和双字节字符。因此Windows中用得最多的字符是双字节字符集,即DBCS,通常用它来代替MBCS。在DBCS编码中,用一些保留值来指明该字符属于双字节字符。例如,Shift-JIS(通用日语)编码中,值0x81-0x9F 和 0xE0-0xFC 的意思是:“这是一个双字节字符,下一个字节是这个字符的一部分”。这样的值通常称为前导字节(lead byte),总是大于0x7F。前导字节后面是跟随字节(trail byte)。DBCS的跟随字节可以是任何非零值。与SBCS一样,DBCS字符串也由一个零字节结尾。第三种编码方式是Unicode。Unicode编码标准中的所有字符都是双字节长。有时也将Unicode称为宽字符集(wide characters),因为它的字符比单字节字符更宽(使用更多内存)。注意,Unicode不是MBCS - 区别在于MBCS编码中的字符长度是不同的。Unicode字符串用二个零字节字符结尾(一个宽字符的零值编码)。单字节字符集是拉丁字母,重音文字,用ASCII标准定义,用于DOS操作系统。双字节字符集用于东亚和中东语言。Unicode用于COM和Windows NT内部。读者都很熟悉单字节字符集,它的数据类型是char。双字节字符集也使用char数据类型(双字节字符集中的许多古怪处之一)。Unicode字符集用wchar_t数据类型。Unicode字符串用L前缀起头,如: wchar_t wch = L'1'; // 2 个字节, 0x0031 wchar_t* wsz = L"Hello"; // 12 个字节, 6 个宽字符字符串的存储单字节字符串顺序存放各个字符,并用零字节表示字符串结尾。例如,字符串"Bob"的存储格式为:Unicode编码中,L"Bob"的存储格式为:用0x0000 (Unicode的零编码)结束字符串。DBCS 看上去有点象SBCS。以后我们会看到在串处理和指针使用上是有微妙差别的。字符串"日本语" (nihongo) 的存储格式如下(用LB和TB分别表示前导字节和跟随字节):注意,"ni"的值不是WORD值0xFA93。值93和FA顺序组合编码为字符"ni"。(在高位优先CPU中,存放顺序正如上所述)。字符串处理函数C语言字符串处理函数,如strcpy(), sprintf(), atol()等只能用于单字节字符串。在标准库中有只用于Unicode字符串的函数,如wcscpy(), swprintf(), _wtol()。微软在C运行库(CRT)中加入了对DBCS字符串的支持。对应于strxxx()函数,DBCS使用_mbsxxx()函数。在处理DBCS字符串(如日语,中文,或其它DBCS)时,就要用_mbsxxx()函数。这些函数也能用于处理SBCS字符串(因为DBCS字符串可能就只含有单字节字符)。现在用一个示例来说明字符串处理函数的不同。如有Unicode字符串L"Bob":x86 CPU的排列顺序是低位优先(little-endian)的,值0x0042的存储顺序为42 00。这时如用strlen()函数求字符串的长度就发生问题。函数找到第一个字节42,然后是00,意味着字符串结尾,于是返回1。反之,用wcslen()函数求"Bob"的长度更糟糕。wcslen()首先找到0x6F42,然后是0x0062,以后就在内存缓冲内不断地寻找00 00直至发生一般性保护错(GPF)。
吐个泡泡 嘿嘿
[C#] Visual C#常用函数和方法集汇总 1、DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 1.1 取当前年月日时分秒 currentTime=System.DateTime.Now; 1.2 取当前年 int 年=currentTime.Year; 1.3 取当前月 int 月=currentTime.Month; 1.4 取当前日 int 日=currentTime.Day; 1.5 取当前时 int 时=currentTime.Hour; 1.6 取当前分 int 分=currentTime.Minute; 1.7 取当前秒 int 秒=currentTime.Second; 1.8 取当前毫秒 int 毫秒=currentTime.Millisecond; (变量可用中文) 1.9 取中文日期显示——年月日时分 string strY=currentTime.ToString("f"); //不显示秒 1.10 取中文日期显示_年月 string strYM=currentTime.ToString("y"); 1.11 取中文日期显示_月日 string strMD=currentTime.ToString("m"); 1.12 取当前年月日,格式为:2003-9-23 string strYMD=currentTime.ToString("d"); 1.13 取当前时分,格式为:14:24 string strT=currentTime.ToString("t"); 2、字符型转换 转为32位数字型 Int32.Parse(变量) Int32.Parse("常量") 3、 变量.ToString() 字符型转换 转为字符串 12345.ToString("n"); //生成 12,345.00 12345.ToString("C"); //生成 ¥12,345.00 12345.ToString("e"); //生成 1.234500e+004 12345.ToString("f4"); //生成 12345.0000 12345.ToString("x"); //生成 3039 (16进制) 12345.ToString("p"); //生成 1,234,500.00% 4、变量.Length 数字型 取字串长度: 如: string str="中国"; int Len = str.Length ; //Len是自定义变量, str是求测的字串的变量名 5、字码转换 转为比特码 System.Text.Encoding.Default.GetBytes(变量) 如:byte[] bytStr = System.Text.Encoding.Default.GetBytes(str); 然后可得到比特长度: len = bytStr.Length; 6、System.Text.StringBuilder("") 字符串相加,(+号是不是也一样?) 如: System.Text.StringBuilder sb = new System.Text.StringBuilder(""); sb.Append("中华"); sb.Append("人民"); sb.Append("共和国"); 7、变量.Substring(参数1,参数2); 截取字串的一部分,参数1为左起始位数,参数2为截取几位。 如:string s1 = str.Substring(0,2); 8、取远程用户IP地址 String user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString(); 9、穿过代理服务器取远程用户真实IP地址: if(Request.ServerVariables["HTTP_VIA"]!=null){ string user_IP=Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); }else{ string user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString(); } 10、存取Session值 Session["变量"]; 如,赋值: Session["username"]="小布什"; 取值: Object objName=Session["username"]; String strName=objName.ToString(); 清空: Session.RemoveAll(); 11、用超链接传送变量 String str=Request.QueryString["变量"]; 如在任一页中建超链接:<a href=Edit.aspx?fbid=23>点击</a> 在Edit.aspx页中取值:String str=Request.QueryString["fdid"]; 12、创建XML文档新节点 DOC对象.CreateElement("新建节点名"); 13、将新建的子节点加到XML文档父节点下 父节点.AppendChild(子节点); 14、 删除节点 父节点.RemoveChild(节点);
看了之后,眼框湿润了。。。 你不会孤单的,这条路上有很多人和你一样在孤独的走着。常幻想有一天,这些人能聚在一起做点真正有益的事。一名自由的程序员
[ASP.NET][转] ASP.NET中数据库数据导入Excel并打印 众所周知,WEB上的打印是比较困难的,常见的WEB上打印的方法大概有三种: 1、直接利用IE的打印功能。一般来说,这种方法可以做些扩展,而不是单单的调用javascript:print()这样简单,比如,可以使用如下代码: <OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0> </OBJECT> <input type=button value=打印 onclick=document.all.WebBrowser.ExecWB(6,1)> <input type=button value=直接打印 onclick=document.all.WebBrowser.ExecWB(6,6)> <input type=button value=页面设置 onclick=document.all.WebBrowser.ExecWB(8,1)> <input type=button value=打印预览 onclick=document.all.WebBrowser.ExecWB(7,1)> 这种方法可以适用于简单的数据打印,对系统要求不高,但不足之处在于可以控制的能力比较差,比如处理分页等问题。 2、利用水晶报表或其他第三方工具,如微软的Reporting service。水晶报表或其他第三方控件的打印,一般是导出到Excel,WORD,PDF等再进行打印的,效果比较好,但编程比较复杂,控制起来也不大方便,而且这些工具都是要收费的。 3、将数据库的数据或要打印的内容导出到Excel,Word中去打印。使用这种方法,可以在服务端或者客户端进行。在服务端使用的话,要求服务端要安装Word,Excel,在客户端使用的话,要求客户端在IE的安全设置上有一定要求。使用这种方法,可适应性比较强,控制较好。本文将以在ASP.NET中使用Excel为例子,介绍如何将数据导出到Excel的几种方法。 首先,先介绍在服务端使用Excel的方法。要在服务器端使用Excel,必须要求服务器端安装Excel,并且要求一定的访问权限。比如,需要添加<identity impersonate="true"/>到web.config中。在本文中,要给予WEB目录可写的权限。 接下来,使用VS.NET 2003新建一个VB.NET的工程,并添加引用。由于我们要使用的是Excel,所以添加一个关于COM的应用,这里添加的是Microsoft Excel Object Library,之后,添加的代码如下: Imports System.Runtime.InteropServices.Marshal Imports Office Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ''''以COM方式处理Excel Dim oExcel As New Excel.Application Dim oBooks As Excel.Workbooks, oBook As Excel.Workbook Dim oSheets As Excel.Sheets, oSheet As Excel.Worksheet Dim oCells As Excel.Range Dim sFile As String, sTemplate As String ''''定义一个datatable Dim dt As DataTable = CType(Application.Item("MyDataTable"), DataTable) sFile = Server.MapPath(Request.ApplicationPath) & "\MyExcel.xls" ''''定义模版文件 sTemplate = Server.MapPath(Request.ApplicationPath) & "\MyTemplate.xls" oExcel.Visible = False oExcel.DisplayAlerts = False ''''定义一个新的工作簿 oBooks = oExcel.Workbooks oBooks.Open(Server.MapPath(Request.ApplicationPath) & "\MyTemplate.xls") oBook = oBooks.Item(1) oSheets = oBook.Worksheets oSheet = CType(oSheets.Item(1), Excel.Worksheet) ''''命名该sheet oSheet.Name = "First Sheet" oCells = oSheet.Cells ''''调用dumpdata过程,将数据导入到Excel中去 DumpData(dt, oCells) ''''保存 oSheet.SaveAs(sFile) oBook.Close() ''''退出Excel,并且释放调用的COM资源
[杂]优秀文章 如何在Dev-Cpp 环境下进行C++开发的介绍 http://blog.csdn.net/roger_77/archive/2006/03/01/612699.aspx
[C++][转] const修饰指针和引用释疑 const修饰指针和引用的用法,对于初学C++的人直是讳莫如深,不知所云.一旦你了解了其用法,一切便不值一哂了.下面我为读者一一释疑: 大致说来其可分为三种情况: const修饰指针,const修饰引用,const修饰指针的引用. 1.const修饰指针 const修饰指针又可分为三种情况: const修饰指针本身 const修饰指针所指的变量(或对象) const修饰指针本身和指针所指的变量(或对象) (1).const修饰指针本身 这种情形下,指针本身为常量,不可改变,任何修改指针本身的行为都是非法的.例如: const int a = 1; const int b = 2; int i = 3; int j = 4; int* const pi = &i; //ok, pi的类型为int* const , &i的类型为int* const int* const pi = &a; //error, pi的类型为int* const, &a的类型为const int* const pi = &j; //error, 指针是常量,不可变 *pi = a; //ok, *pi并没有限定是常量 ,可变 由此看出,pi是常量,常量在初始化和赋值时,类型必须严格一致。也就是 const修饰指针本身时,=号两边的变量类型必须严格一致,否则不能匹配。 (2).const修饰指针指向的变量(或对象) 此种情形下,通过间接引用指针不可改变变量的值,假设指针为p,则*p不可变,下面以例子说明: const int *pi = &a; //or int const *pi = &a; //两者毫无二致,不过BS喜欢前者,这也没什么技术上的优劣之分,也就是说const int与int const可以互换.建议大家熟//悉这两种形式,为简洁便,以后统统用前者. //ok, const并不修饰指针本身,pi对赋值类型 //没要求 ,但pi是int*型指针,所以所赋的必须是个地址值。 const int *pi = &i; //ok ,pi可赋值常量的地址,又可赋变量的地址const int *pi1 = &a;const int *pi = pi1; //ok *pi = j; //error,*pi 不可变,不能更改指针的间接引用形式 pi = &j; //ok,pi可变 pi = &b; //ok,pi可变 pi++; //ok --pi; //ok 由此可见,pi是变量,可以赋值常量和变量的值,正如一个整型变量可赋整型数和整型变量一样.const修饰的不是指针本身,而是其间接引用,=号两边的类型不必严格匹配,如:const int* pi = &a;中,pi的类型为int*,而&a的类型为const int* const,只要其中含有int* 就可以。又如:const int *pi = &j;中,pi的类型为int*,而&j的类型为int* const,它向pi赋值并无大碍。 (3)const修饰指针本身和指针所指的变量(或对象) 设有指针p,此种情形下,p和*p都不可变.举例如下: const int* const pi = &a; //or int const* const pi = &a; //将const pi看作一体,就与(2)所述相同,只是要求pi必须为const,正如上所说,=号两边的类型不必严格匹配,但必须含有int*, &a的类型为const int* const,含有int*, 所以可以赋值。 const int* const pi = &i; //ok, &i类型为int* const,含有int*, 可赋值。const int *pi1 = &j;const int *const pi = pi1; //ok, pi1类型为int* pi = &b; //error, pi不可变 pi = &j; //error, pi不可变 *pi = b; //error, *pi不可变 *pi = j; //error, *pi不可变 pi++; //error ,pi不可变 ++i; //ok, =号右边的变量(或对象)与所修饰的变量无关 a--; //error, a为const 这种情况,跟以上两种情形有联系。对const int* const pi = &a;我们可以这样看:const int*( const pi )= &a;(仅仅是表达需要),将const pi看作一体,就与上述分类(2)符合。只要含有int*便可. 2.const修饰引用 这种情况比较简单,没有象修饰指针那样繁复,因为引用和引用对象是一体的,所以引用被const修饰只有一种类型。 const修饰引用,引用本身不可变,但引用的变量(或对象)可以改变.例如: const int& ri = a; //or int const & ri = a; ok, ri 本身是常量,引用不区分类型 const int& ri = i; //ok,引用不区分类型 ri++; //error, ri为常量,不可变 i++; //ok,=右边的变量与引用无关 ri=b; //error, ri为常量 i=j; //ok,=右边的变量与引用无关 int & const ri = i; //error,不存在这种形式,没有意义 3.const修饰指针的引用 引用只是个别名,这里与修饰指针类似,又分为三种情况: (1) 先给个例子: const int *pi = &a; const int *&ri = pi; //or int const *&ri = pi; 引用是引用对象的别名,正因为如此,ri是pi的别名,所以ri的类型必须与pi完全一致才行。这里pi的类型为int*,ri的类型也为int*,赋值可行。若const int *&ri = &a;正不正确?分析一下就知晓。ri类型为int*,&a的类型则为const int* const不匹配。 const int *&ri = &i; //error,类型不匹配,一为int*,一为int* const ri = &a; //okri = &i; //okconst int *pi1=&a;const int *pi2=&i;ri = pi1; //okri = pi2; //ok*ri = i; //error*ri = a; //error 注意这与1-(2)的区别.(2) 用例子说明:int *const &ri = &i; 去掉ri左边的&号,则为int *const ri,因为ri是别名,故ri的类型应与赋值的数类型一致,ri类型为int *const,&i为int *const,可以这么做.int *const &ri = pi; //error,类型不合,一为int *const ,一为int *int *const &ri = &a; //error,类型不合,一为int *const,一为const int* const(*ri)++; //oki++; //okri = &i; //error 这种情况下,ri为常量,不可更改.(3) 用例子说明: const int* pi = &j; const int* const &ri = pi; //or int const * const &ri = pi;ok const int* const &ri = &i; //ok ri是pi的别名,pi的类型应与ri一致。拿掉&,得const int* const ri ,把const ri看作一体,很容易得出ri的类型信息,就象前面2-(3)所讨论的一样,可以得到赋给ri的只要含有类型int* 即可。pi的类型为int*,&i的类型为int* const ,可以这么做.const int * const &ri = &a; //okri++; //error*ri = 6; //error 言尽于此,希望对初学者有所助益!
[杂]优秀网站 C++博客(专注于C++技术)www.cppblog.com
[C++][转] 文件读写 一、ASCII 输出 为了使用下面的方法, 你必须包含头文件 (译者注:在标准C++中,已经使用 取代 ,所有的C++标准头文件都是无后缀的。)。这是 的一个扩展集, 提供有缓冲的文件输入输出操作. 事实上, 已经被 包含了, 所以你不必包含所有这两个文件, 如果你想显式包含他们,那随便你。我们从文件操作类的设计开始, 我会讲解如何进行ASCII I/O操作。 如果你猜是"fstream," 恭喜你答对了! 但这篇文章介绍的方法,我们分别使用"ifstream"?和 "ofstream" 来作输入输出。 如果你用过标准控制台流"cin"?和 "cout," 那现在的事情对你来说很简单。 我们现在开始讲输出部分,首先声明一个类对象。 ofstream fout; 这就可以了,不过你要打开一个文件的话, 必须像这样调用ofstream::open()。 fout.open("output.txt"); 你也可以把文件名作为构造参数来打开一个文件. ofstream fout("output.txt"); 这是我们使用的方法, 因为这样创建和打开一个文件看起来更简单. 顺便说一句, 如果你要打开的文件不存在,它会为你创建一个, 所以不用担心文件创建的问题. 现在就输出到文件,看起来和"cout"的操作很像。 对不了解控制台输出"cout"的人, 这里有个例子。 int num = 150; char name[] = "John Doe"; fout << "Here is a number: " << num << "\n"; fout << "Now here is a string: " << name << "\n"; 现在保存文件,你必须关闭文件,或者回写文件缓冲. 文件关闭之后就不能再操作了, 所以只有在你不再操作这个文件的时候才调用它,它会自动保存文件。 回写缓冲区会在保持文件打开的情况下保存文件, 所以只要有必要就使用它。 回写看起来像另一次输出, 然后调用方法关闭。像这样: fout << flush; fout.close(); 现在你用文本编辑器打开文件,内容看起来是这样: Here is a number: 150 Now here is a string: John Doe 很简单吧! 现在继续文件输入, 需要一点技巧, 所以先确认你已经明白了流操作,对 "<<" 和">>" 比较熟悉了, 因为你接下来还要用到他们。继续… 二、ASCII 输入 输入和"cin" 流很像. 和刚刚讨论的输出流很像, 但你要考虑几件事情。在我们开始复杂的内容之前, 先看一个文本: 12 GameDev 15.45 L This is really awesome! 为了打开这个文件,你必须创建一个in-stream对象,?像这样。 ifstream fin("input.txt"); 现在读入前四行. 你还记得怎么用"<<" 操作符往流里插入变量和符号吧?好,?在 "<<" (插入)?操作符之后,是">>" (提取) 操作符. 使用方法是一样的. 看这个代码片段. int number; float real; char letter, word[8]; fin >> number; fin >> word; fin >> real; fin >> letter; 也可以把这四行读取文件的代码写为更简单的一行。 fin >> number >> word >> real >> letter; 它是如何运作的呢? 文件的每个空白之后, ">>" 操作符会停止读取内容, 直到遇到另一个>>操作符. 因为我们读取的每一行都被换行符分割开(是空白字符), ">>" 操作符只把这一行的内容读入变量。这就是这个代码也能正常工作的原因。但是,可别忘了文件的最后一行。 This is really awesome! 如果你想把整行读入一个char数组, 我们没办法用">>"?操作符,因为每个单词之间的空格(空白字符)会中止文件的读取。为了验证: char sentence[101]; fin >> sentence; 我们想包含整个句子, "This is really awesome!" 但是因为空白, 现在它只包含了"This". 很明显, 肯定有读取整行的方法, 它就是getline()。这就是我们要做的。 fin.getline(sentence, 100); 这是函数参数. 第一个参数显然是用来接受的char数组. 第二个参数是在遇到换行符之前,数组允许接受的最大元素数量. 现在我们得到了想要的结果:“This is really awesome!”。
2v2时,orc和ne的联合tr 刚想到的,大家的评论不要太苛刻.英雄还是DH加剑圣.orc不造大G,入夜后全力在对方门前稍远的地方造塔,NE直接出箭车,在orc塔的掩护下拆建筑.同时,DH和剑圣一人买张膏药死缠对方英雄.
假如一款游戏的MOD比原版还出名,你会…… 1、玩MOD,因为玩的人多。2、玩原版,因为原版才经典,代表了这款游戏本身的气质。3、玩其它游戏,因为这款游戏的流行版本不统一。4、其它。请做出您的选择,也可以说出自己的理由,谢谢~
快速重装Windows操作系统秘籍 无论菜鸟还是老鸟,用上电脑后,自己新装或者重装所需的操作系统是避免不了要做的事情。虽然安装操作系统的过程不算太复杂,但也的确是一件劳神费力的辛苦事。 一、复杂方法 1.重装系统的主要步骤 首先要调整系统引导顺序。一般是在开机的时候,按下DEL键,进入BIOS设置界面,将系统引导顺序中的设置更改为“CD-ROM”(光驱优先启动)。 然后,对硬盘进行重新格式化。为了让新安装的操作系统拥有“绝对纯净”的环境,很多人都习惯在重装前对系统分区重新进行格式化,以消除原有系统可能造成的影响。 须要注意的是,如果原先在硬盘的某个分区中安装了其他操作系统,那么新的操作系统就不要再安装在同一个分区了,这样有利于在多系统并存情况下加强各个系统的稳定性。 接下来安装新的操作系统。用Windows安装光盘引导系统,然后按照安装向导的提示一步步进行操作。这个过程最是漫长,而且电脑每过一段时间就会冒个问题出来,比如“你准备把系统装到哪里”、“你的序列号是什么”、“你这台电脑叫什么名字”……如果你不及时回答,它就会把整个安装过程停下来等你,十分烦人。 最后还要安装各种驱动程序。大多数情况下,虽然系统会预置一些基本的驱动程序,但为了更好地发挥硬件效能,我们还是应该手工安装一些更合适的驱动程序。 如果经常上网,那么安装最新的补丁程序或补丁包也是一个必要的步骤。联上互联网,可以去微软公司的更新站点下载关键更新和Service Pack、Windows XP、驱动程序更新等不同类别的更新程序,而且为了省事,我们可以下载和安装打包了的补丁包,省去逐个查找、逐个安装的麻烦。更新后,可以提供系统的安全性、稳定性,同时也提供了一些更好的新功能。 2.使用安装脚本 一般来说,顺利地装完操作系统,须要花费1~2个小时的时间,如果系统配置稍低档一些,所需要的时间就更长了。 前面已经提到,在安装过程中,虽然大部分的操作由安装程序自动进行,但是仍然有很多步骤须要用户选择有关的选项或者输入一些信息(序列号、区域和语言、计算机名称、管理员密码、日期和时间设定、网络设置等)后,安装才能进行下去。这样一来,我们就只好守在计算机前,随时等待回答电脑提出的问题。很多人“重装系统好累”,其实就“累”在这里。 于是,一些高手便找到了偷懒的办法。他们将一些固定的选择操作和设置信息保存为一个脚本文件,把准备回答电脑的答案全都放在里面。这样,当安装程序想要提问时,就能直接在脚本里找到答案,实现无人参与的全自动安装,而高手们则可以舒舒服服地离开电脑去做其他的事了。下面,我们就以目前主流的Windows XP为例,介绍如何为Windows XP创建安装脚本,实现无人参与的全自动安装方法。 在Windows XP安装光盘的“SUPPORT\TOOLS”目录中有一个“DEPLOY.CAB”文件,用WinRAR解压缩软件打开该文件,解压出其中的setupmgr.exe程序,它就是传说的“Windows 安装管理器”。 双击setupmgr.exe程序,启动Windows安装管理器,同时弹出的还有“Windows 安装管理器向导”对话框,通过该向导,我们可以创建所需的安装脚本。 要创建无人参与的安装脚本,就要先在“Windows 安装管理器向导”的“用户相互作用级别”对话框中选择“全部自动”。这样安装程序将不提示用户做出任何回答,有关的回答信息都设定在脚本文件中。此外,在通常情况下,我们都是利用Windows XP的安装光盘来安装Windows,所以要在“分发文件夹”对话框中选择“否,这个应答文件将用来从CD安装”。 然后,单击“下一步”,勾选“我接受许可协议”,再单击“下一步”,“Windows 安装管理器向导”关闭,“Windows 安装管理器”变为活动窗口。
共和国这个MOD是哪位仁兄做的? 我只是好奇,想问一下
大家好~ 嘿嘿
1
下一页