设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 1072|回复: 3
打印 上一主题 下一主题

c++函数参数表的问题(新手)

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-3 01:16:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void AddText(HWND hwnd, PCTSTR pszFormat, ...) {
va_list argList;
va_start(argList, pszFormat);
TCHAR sz[20 * 1024];
Edit_GetText(hwnd, sz, chDIMOF(sz));
_vstprintf(_tcschr(sz, 0), pszFormat, argList);
Edit_SetText(hwnd, sz);
va_end(argList);
}
这样定义的函数是怎么回事啊?这个函数就定义了一处,怎么有这么多种调用方式。

AddText(hwnd, TEXT(" Fixed"));

AddText(hwnd, TEXT("Filename: %s\r\n"), pe.szExeFile);

AddText(hwnd, TEXT(" PID=%08X, ParentPID=%08X, ")
TEXT("PriorityClass=%d, Threads=%d, Heaps=%d\r\n"),
pe.th32ProcessID, pe.th32ParentProcessID,
pe.pcPriClassBase, pe.cntThreads,
th.HowManyHeaps());
2#
发表于 2009-11-3 01:16:28 | 只看该作者
看了几遍鸟,新手啊!
还是看不懂!>_<
不知道程序什么意思啊?
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-3 01:16:29 | 只看该作者
understand variable legnth paramters first.

Her is a piece of code I wrote 10 years ago.


程序代码:

#include <iostream>
#include <cstdarg> // for va_list, va_start, va_end, va_arg
using namespace std;
bool debug = false;
void DebugOutput(const char* formartString, ...)
{
va_list ap;
if(debug)
{
va_start(ap, formartString);
vfprintf(stderr, formartString, ap);
va_end(ap);
}
}
void SquareInts(int counter, ...)
{
int temp;
va_list ap;
va_start(ap, counter);
for(int i=0; i<counter; ++i)
{
temp = va_arg(ap, int);
cout<<temp*temp<<" ";
}
va_end(ap);
cout<<endl;
}
int main()
{
debug = true;
DebugOutput("This is the debug output\n");
DebugOutput("int %d\n", 13);
DebugOutput("My name is %s and I am %d years old\n", "John Doe", 20);
DebugOutput("lots of integers here %d %d %d %d %d\n", 5, 7, 6, -3, 90);
cout<<"---------------------------------------------------------"<<endl;
SquareInts(3, 40, 23, -20);
return 0;
}
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-3 01:16:30 | 只看该作者

感谢版主!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 09:40 , Processed in 0.121039 second(s), 10 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表