易截截图软件、单文件、免安装、纯绿色、仅160KB

c/c++语言问题中可变参数


 va_list是c/c++语言问题中解决可变参数的一组宏.先来看一个程序例子吧.
view plaincopy to clipboardprint?
#include <stdarg.h>   
/** 函数名:max  
  * 功能:返回n个整数中的最大值  
  *  参数:num:整数的个数 ...:num个输入的整数  
  *  返回值:求得的最大整数  
  */   
int max ( int num, ... )   
{   
 int m = -0x7FFFFFFF; /* 32系统中最小的整数 */   
 va_list ap;   
 va_start ( ap, num );   
 for ( int i= 0; i< num; i++ )   
 {   
  int t = va_arg (ap, int);   
  if ( t > m )   
  {   
   m = t;   
  }   
 }   
 va_end (ap);   
 return m;   
}   
/* 主函数调用max */   
int main ( int argc, char* argv[] )   
{   
 int n = max ( 5, 5, 6 ,3 ,8 ,5); /* 求5个整数中的最大值 */   
 cout << n;   
 return 0;   
}   
  C语言中有些函数使用可变参数,比如常见的int printf( const char* format, ...),第一个参数format是固定的,其余的参数的个数和类型都不固定. 
  C语言用va_start等宏来处理这些可变参数。这些宏看起来很复杂,其实原理挺简单,就是根据参数入栈的特点从最靠近第一个可变参数的固定参数开始,依次获取每个可变参数的地址。下面我们来分析这些宏。 
在stdarg.h头文件中,针对不同平台有不同的宏定义,我们选


相关文档:

用C写的3D迷宫

          Boss说,要看OpenGL,看了快一个月,总算出了个像样的东西,用C写了个3D迷宫,
虽然只有350行
       代码,不过边学边写,足足写了一周时间,还是小有成就感的,活活活!
         &n ......

C/C++学习应该注意的几个细节


给我们上ASP.NET的老师在讲解C#的时候,总是要询问我们C#和C/C++间的不同之处,或者一些细节问题,但是平时不怎么注意,还真把我们给问到了!!
一.不经过中间变量怎样交换两个数据 int a=25;b=10;
解法: a=a+b;//35
        b=a-b;//25
      ......

C/C++ 文件读写操作总结(1)


在编程的过程中,文件的操作是一个经常用到的问题,在C++Builder中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是:
1、基于C的文件操作;
2、基于C++的文件操作;
3、基于WINAPI的文件操作;
4、基于BCB库的文件操作;
5、特殊文件的操作。
 
壹、基于C的文件操作
  在ANSI C中 ......

C、C++语言的文件操作

今天归纳总结一下文件操作函数及各个参数的含义:
先介绍一下c++的文件操作,为什么说c++的文件操作呢,因为对于c语言的操作,也有它的函数之不过大同小异罢了。
  在c++的文件操作中有,有一个类对文件操作进行操作,即CFile,下面就写一段代码,来简单的进行介绍。
 CFile cf;
 char zhi[]={1,2};
&n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号