CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

windows编程(C++),求助!

楼主happydivid(泓笑)2005-11-19 13:24:10 在 C/C++ / C++ 语言 提问

下面是用c进行的windows编程,请问怎么翻译成c++代码的windows编程代码啊?  
  谢谢!  
  /*---------------------------------------------------------------------------  
                   
          SCRNSIZE.C   --   Displays   screen   size   in   a   message   box  
                   
                                    (c)   Charles   Petzold,   1998  
                   
  ----------------------------------------------------------------------------*/  
                   
  #include   <windows.h>  
                   
  #include   <tchar.h>        
                   
  #include   <stdio.h>        
                   
  int   CDECL   MessageBoxPrintf   (TCHAR   *   szCaption,   TCHAR   *   szFormat,   ...)  
                   
  {  
                   
          TCHAR       szBuffer   [1024]   ;  
                   
          va_list   pArgList   ;  
                   
   
          //   The   va_start   macro   (defined   in   STDARG.H)   is   usually   equivalent   to:  
                   
          //   pArgList   =   (char   *)   &szFormat   +   sizeof   (szFormat)   ;  
                   
   
          va_start   (pArgList,   szFormat)   ;  
                   
   
          //   The   last   argument   to   wvsprintf   points   to   the   arguments  
                   
   
          _vsntprintf   (   szBuffer,   sizeof   (szBuffer)   /   sizeof   (TCHAR),  
                   
                                        szFormat,   pArgList)   ;  
                   
   
          //   The   va_end   macro   just   zeroes   out   pArgList   for   no   good   reason  
                   
          va_end   (pArgList)   ;  
                   
          return   MessageBox   (NULL,   szBuffer,   szCaption,   0)   ;  
                   
  }  
                   
  int   WINAPI   WinMain   (HINSTANCE   hInstance,   HINSTANCE   hPrevInstance,  
                   
                                        PSTR   szCmdLine,   int   iCmdShow)  
                   
  {  
                   
          int   cxScreen,   cyScreen   ;  
                   
          cxScreen   =   GetSystemMetrics   (SM_CXSCREEN)   ;  
                   
          cyScreen   =   GetSystemMetrics   (SM_CYSCREEN)   ;  
                   
   
          MessageBoxPrintf   (         TEXT   ("ScrnSize"),  
                   
                                        TEXT   ("The   screen   is   %i   pixels   wide   by   %i   pixels   high."),  
                   
                                        cxScreen,   cyScreen)   ;  
                   
          return   0   ;  
                   
  } 问题点数:20、回复次数:6Top

1 楼happydivid(泓笑)回复于 2005-11-19 16:34:58 得分 0

怎么没人帮忙?  
  是不是不可以,还是其它原因啊?是其它原因的话,请说说。谢谢!!!Top

2 楼runrunrun(农妇、山泉、有点田)回复于 2005-11-19 16:52:42 得分 1

为什么要翻译?直接当C++用就行了Top

3 楼happydivid(泓笑)回复于 2005-11-19 17:47:19 得分 0

int   CDECL   MessageBoxPrintf   (TCHAR   *   szCaption,   TCHAR   *   szFormat,   ...)  
  中的CDECL是干什么用的?Top

4 楼bingbox_1984(苦丁茶)(我只喜欢CC)回复于 2005-11-19 17:59:07 得分 5

又是<windows程序设计>,我感觉自己都上当了  
  http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=209225Top

5 楼fiftymetre(50米深蓝)回复于 2005-11-19 20:57:13 得分 10

cdecl     是函数调用过程中参数入栈   方式   及函数堆栈的消耗由谁控制  
  省略号表示   参数可变   不确定    
   
   
  关于...的用法请参看,MSDN开发高手2004年第8期,可变参数的函数设计  
   
   
  还有LZ你这样说是不正确的,这是WIN下的SDK设计了,没有必要来什么C++什么的牵强附会。  
   
   
  还有windows程序设计是本好书,请不要BSTop

6 楼flyseahappy(花花世界)回复于 2005-11-19 20:58:51 得分 4

CDECL,应该是一种调用方式,stdcall也就,也就谁负责却函数的参数压入与弹出的操作,及是从左到右还是从右到左.这个问题已经有人问过了。  
   
  _stdcall是在被调函数内部恢复堆栈指针  
  _cdecl是在被调函数返回后,在调用函数内恢复堆栈指针  
  __cdecl  
  函数的参数个数可变(就像printf函数一样),因为只有调用者才知道它传给被调用函数几个参数,才能在调用结束时适当地调整堆栈。  
  _stdcall  
  函数的参数个数不能是可变的  
  当然还有一些区别,有兴趣可以去看看啦Top

相关问题

  • C#的windows编程
  • c# windows 编程问题
  • 谁有《C++编程思想》及《WINDOWS核心编程》的源码?
  • 谁有《C++编程思想》及《WINDOWS核心编程》的源码.
  • 关于C++编程和windows编程的学习。
  • C 语言能用于WINDOWS编程吗
  • C#在Windows 2000下的编程
  • C# WINDOWS 编程这书怎样?
  • 请推荐 windows 下的C编程
  • Windows 核心编程 C++ 源代码

关键词

  • c++
  • 函数
  • windows编程
  • parglist
  • szformat
  • 调用
  • 堆栈
  • 参数
  • messageboxprintf
  • cxscreen

得分解答快速导航

  • 帖主:happydivid
  • runrunrun
  • bingbox_1984
  • fiftymetre
  • flyseahappy

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo