Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Tham số của hàm là dấu 3 chấm???

  1. #1
    Ngày gia nhập
    09 2008
    Bài viết
    328

    Smile Tham số của hàm là dấu 3 chấm???

    Visual C++ Code:
    1.  
    2. #include <windows.h>
    3. #include <tchar.h>
    4. #include <stdio.h>
    5.  
    6. int CDECL MessageBoxPrintf (TCHAR * szCaption, TCHAR * szFormat, ...)
    7. {
    8.      TCHAR   szBuffer [1024] ;
    9.      va_list pArgList ;
    10.  
    11.           // The va_start macro (defined in STDARG.H) is usually equivalent to:
    12.           // pArgList = (char *) &szFormat + sizeof (szFormat) ;
    13.  
    14.      va_start (pArgList, szFormat) ;
    15.  
    16.           // The last argument to wvsprintf points to the arguments
    17.  
    18.      _vsntprintf (szBuffer, sizeof (szBuffer) / sizeof (TCHAR),
    19.                   szFormat, pArgList) ;
    20.  
    21.           // The va_end macro just zeroes out pArgList for no good reason
    22.  
    23.      va_end (pArgList) ;
    24.  
    25.      return MessageBox (NULL, szBuffer, szCaption, 0) ;
    26. }
    27.  
    28. int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
    29.                     PSTR szCmdLine, int iCmdShow)
    30. {
    31.      int cxScreen, cyScreen ;
    32.  
    33.      cxScreen = GetSystemMetrics (SM_CXSCREEN) ;
    34.      cyScreen = GetSystemMetrics (SM_CYSCREEN) ;
    35.      MessageBoxPrintf (TEXT ("ScrnSize"),
    36.                        TEXT ("The screen is %i pixels wide by %i pixels high."),
    37.                        cxScreen, cyScreen) ;
    38.      return 0 ;
    39. }
    ai có thể giải thích cho mình tại sao lại có thể làm được như vậy không???
    Tham gia diễn đàn MACOS http://www.apple9.com/forum

  2. #2
    Ngày gia nhập
    04 2008
    Bài viết
    336

    ai có thể giải thích cho mình tại sao lại có thể làm được như vậy không???
    Tại C cho phép ...
    cậu xem hàm printf nó cũng sử dụng dấu "..." trong prototype của nó đấy.
    Nó thường dùng làm đối số cho 1 dãy các biến có chung mục đích

    Code:
    _vsntprintf (szBuffer, sizeof (szBuffer) / sizeof (TCHAR),
                      szFormat, pArgList) ;
    trong hàm trên thì pArgList chứa danh sách các biến được truyền vào.
    code ra gió bão

  3. #3
    Ngày gia nhập
    02 2008
    Bài viết
    4

    Bạn down cái này để biết thêm về hàm có tham số bất định nha
    Mình lấy từ phụ lục trong ebook C++ của thầy Phạm văn Ất
    PHL4.rar

Các đề tài tương tự

  1. Tham số, tham trị, tham biến. Ý nghĩa như thế nào trong lập trình C?
    Gửi bởi toend2008 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 28-08-2014, 10:24 AM
  2. Từ một chương trình gọi chương trình thứ 2 lên chạy và truyền tham số cho nó
    Gửi bởi tuanngocpt trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 8
    Bài viết cuối: 15-06-2012, 05:46 PM
  3. ADO.NET Tại sao không chạy được procedure khi có nhiều tham số đầu vào
    Gửi bởi giangt79g97 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 29-11-2011, 05:27 PM
  4. Tham gia cuộc thi Kết hợp chạm và Bấm - Rinh ngay Nokia C3-01
    Gửi bởi giotmuaso8 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 28-04-2011, 12:43 AM
  5. Phong cách lập trình C --> Tham khảo (ko thật sự chất lượng)
    Gửi bởi n04dethuong trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 17
    Bài viết cuối: 08-04-2011, 08:59 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn