vc中的小窍门.doc_第1页
vc中的小窍门.doc_第2页
vc中的小窍门.doc_第3页
vc中的小窍门.doc_第4页
vc中的小窍门.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VC中debug.exe图标的修改-1 选择合适的图标,可截图产生2 将截图产生的图片转换成.ioc格式3 进入工程中的res文件夹,将自己转换生成的.ico文件图标替换原来的图标VC中代码的自动对齐-若想使代码看起来比较舒服:Alt+F8VC返回代码错误信息-有时候想看看出错的原因,则可以调用GetLastError() strerror()。-其中GetLastError() 输入:无; 输出:错误编码-其中strerror() 输入:错误编码 输出:指向错误信息的指针#include#include#include#includevoid main(int argc,char *argv)FILE *p;p=fopen(he.txt,r);if(p=NULL)int error=GetLastError();/*获得错误编码*/fprintf(stderr,open %s error:%sn,argv0,strerror(error);/*格式化错误信息输出*/VC中memset()的使用-函数原型:void *memset( void *dest, int c, size_t count );参数含义:1) dest-Pointer to destination 指向要改变数值的buffer2) c- Character to set 要改变为的数值3)count- Number of characters 要改变的字符个数典型用法:The memset function sets the first count bytes of dest to the character c.设置数组的前几个数值为指定的数组,也可以用来初试化数组。常用来进行数组的初始化。VC中文件打开fwrite()的使用函数原型:size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream );参数含义:第一个参数:指向要被写进文件的数据的指针;第二个参数每个Item字节大小,第三个参数为Item的个数。说明:fwrite()可以为单个字符数据的写入,可以为数据块的写入。fwrite(ss,sizeof(char),strlen(ss),fp); 为单个字符的写入fwrite(ss,strlen(ss),1,fp); 为字符块的写入VC中文件打开fread()的使用函数原型:size_t fread( void *buffer, size_t size, size_t count, FILE *stream );参数含义:第一个参数:指向读取文件数据存储的buffer的指针;第二个参数每个Item字节大小,第三个参数为Item的个数。VC中文件打开fopen()的使用函数原型:FILE *fopen( const char *filename, const char *mode );mode含 义当文件不存在当指定文件存在r读取(文本文件)正常打开正常打开w写入(文本文件)建立新文件文件原有内容丢失a追加(文本文件)建立新文件在文件末尾添加rb读取(二进制文件)出错正常打开wb写入(二进制文件)建立新文件文件原有内容丢失ab追加(二进制文件)建立新文件在文件末尾添加r+读取/写入(文本文件)出错正常打开w+写入/读取(文本文件)建立新文件文件原有内容丢失a+读取/追加(文本文件)建立新文件在文件末尾添加rb+读取/写入(二进制文件)出错正常打开wb+写入/读取(二进制文件)建立新文件文件原有内容丢失ab+读取/追加(二进制文件)建立新文件在文件末尾添加(1) w方式(写方式) 该方式只能用于向打开的文本文件写入数据。若文件不存在,则按用指定的名字创建新文件;若文件已存在,则先删除文件中的全部内容。文件打开时,文件指针指向文件头,从文件头开始向文件写入数据。(2) r方式(读方式) 该方式只能用于打开一个已存在的文本文件并从中读出数据。文件打开时,文件指针指向文件头,读操作从文件指针所指处开始。当文件不存在时,出现错误信息。(3) a方式 该方式用于向已存在或还未创建的文本文件末尾添加数据。若文件存在,将它打开,并将文件指针指向文件末尾;若文件不存在,则创建一个新文件,这时文件指针既是文件头,也是文件尾。追加操作也是从指针指向处开始。(4) r+,w+,a+方式 这几种方式针对已存在的文本文件,打开文件后,既可以读,也可以写。它们的区别是:r+:用该方式打开文件后,如文件有内容则以覆盖方式写入,即写入的内容覆盖原文件中的内容。w+:用该方式打开文件后,文件原有内容全部丢失,这时,只能先向文件写入数据,然后再读出。a+:用该方式打开文件后,将文件内容保留。读时从文件开头读,写时则追加到文件末尾。(5) 上述6种方式加上字母“t”后仍表示对文本文件打开。(6) 上述6种方式加上字母“b”后就表示对二进制件打开。这时,可以以数据项为单位进行文件的读写。文件正常打开后,fopen()函数的返回值是文件在内存中的起始地址,把该地址赋给文件指针fp就建立起文件指针fp和文件fname之间的连接,即fp指向文件fname。此后对文件的操作就通过文件指针进行,而不再使用文件名fname。如果不能打开指定的文件,则返回NULL.程序示例:该程序将固定的字符写进文本文件,并统计文件字符的个数。其中fwrite()有两种写法,一种是基于单个字符的,一种是基于块的。其中fwrite(ss,sizeof(char),strlen(ss),fp); 第一个参数为指向要写进文件数据buffer的指针,第二个为每次Item写的字节数,第三个为Item的个数。这种是基于单个字符的。其中fwrite(ss,strlen(ss),1,fp),将整个块的数据写进文件,是基于块的。为什么要用rewind()呢?因为fwrite()函数,每次写,fp地址为偏移,因此需要统计字符的时候,需要重新定位到文件头。统计字符的时候,如何让文件指针偏移呢?fgetc(fp)是很好的函数,输出字符,并且文件指针也做相应的偏移。输出统计的文件字符数的时候为什么输出要减1呢?这是因为在判断文件字符数目的时候,假若文件为空,也会进行第一次判断,当再判断为空时,才会确定是空,因此统计的个数为比实际的个数多1。VC中代码的puts()函数函数原型:int puts( const char *string );参数含义:输出数据的指针注意点:1)puts()在显示字符串的时候会在其后添加一个换行符,而取代0。2) puts输出字符串时要遇到0也就是字符结束符才停止。3)作用:printf(%sn,string)VC中代码的fputs()函数函数原型:int fputs( const char *string, FILE *stream );参数含义:第一个为要写数据的指针,第二个为文件指针注意点: fputs()并不会为输出自动添加换行符VC中代码的gets()函数函数原型:char *gets( char *buffer );参数含义:保存数据(从标准输入得到)的指针注意点:1) gets()函数用来从标准输入设备(键盘)读取字符串直到换行符结束,但换行符会被丢弃,然后在末尾添加0字符。若字符为输入赋值 ,最后再需加上字符结束符标志0。VC中代码的fgets()函数函数原型:char *fgets( char *string, int n, FILE *stream )参数含义:第一个为接受数据的指针,第二个为接受字符的最大数目,实际接受的字符数为n-1,第三个参数为要读取数据的文件指针。注意点:1) 函数的功能是从fp所指文件中读入n-1个字符放入str为起始地址的空间内;如果在未读满n-1个字符之时,已读到一个换行符或一个EOF(文件结束标志),则结束本次读操作,读入的字符串中最后包含读到的换行符。VC中代码的getc() getchar()putc() putchar()函数int getc( FILE *stream ); 从文件中读取一个字符int getchar( void ); 从标准输入得到一个字符,返回值为读取的字符。int putc( int c, FILE *stream ); 输入一个字符到文件int putchar( int c ); 输出一个字符到标准输出例子:将一个文件内容复制到另一个文件思想:先fopen打开已经有的文件,然后getc()读取文件字符,然后写字符到文件putc()。最后关闭文件。VC中的引用引用引入了对象的一个同义词。定义引用的表示方法与定义指针相似,只是用&代替了。需要特别强调的是引用并不产生对象的副本,仅仅是对象的同义词。因此,当下面的语句执后:引用必须在定义时马上被初始化,因为它必须是某个东西的同义词。(1)传递引用给函数与传递指针的效果是一样的。这时,被调函数的形参就成为原来主调函数中的实参变量或对象的一个别名来使用,所以在被调函数中对形参变量的操作就是对其相应的目标对象(在主调函数中)的操作。(2)使用引用传递函数的参数,在内存中并没有产生实参的副本,它是直接对实参操作;而使用一般变量传递函数的参数,当发生函数调用时,需要给形参分配存储单元,形参变量是实参变量的副本;如果传递的是对象,还将调用拷贝构造函数。因此,当参数传递的数据较大时,用引用比用一般变量传递参数的效率和所占空间都好。(3)使用指针作为函数的参数虽然也能达到与使用引用的效果,但是,在被调函数中同样要给形参分配存储单元,且需要重复使用*指针变量名的形式进行运算,这很容易产生错误且程序的阅读性较差;另

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论