Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 10 của 10
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Hàm MessageBox là hàm api chứ có phải là hàm printf đâu, bạn phải làm vầy :


    Mã:
    #include <windows.h>#include <stdio.h> int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd ){    char s[100];     sprintf(s,"so la %d",3);    MessageBox(NULL,s,"chao ban",MB_OK);     return 0;}

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cũng có thể dùng cách này.
    CString s;
    s.format("%d",3);

    Giống meocon thôi [IMG]images/smilies/biggrin.png[/IMG]

  4. #4
    Trích dẫn Gửi bởi meoconlongvang
    Hàm MessageBox là hàm api chứ có phải là hàm printf đâu, bạn phải làm vầy :


    Mã:
    #include <windows.h>#include <stdio.h> int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd ){    char s[100];     sprintf(s,"so la %d",3);    MessageBox(NULL,s,"chao ban",MB_OK);     return 0;}
    Mình làm theo kiểu này thì bị báo lỗi sau:

    error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'char [100]' to 'LPCWSTR'

    Bạn nào biết cách chuyển sang cùng dạng 'LPCWSTR' không vậy?

  5. #5
    Nếu là VC6 thì : thêm vào _T("ChaoBan");

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Nếu bạn dùng VC2k3 trở lên thì phải khai báo kiểu TCHAR mới chạy được.


    Mã:
    #include <windows.h>#include <stdio.h> int _tmain(int argc, _TCHAR* argv[]){    TCHAR s[100];     _swprintf( s,_T("so la %d"),3);    MessageBox(NULL,s,_T("chao ban"),MB_OK);     return 0;}

  7. #7
    lúc chiều tớ mới học được 1 điều đó là dùng hàm _TCHAR* thì phải dùng thư viện :#include <tchar.h> mà!

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    sao khi không khai báo thư viện này là nó báo lỗi đấy, tớ dùng 2k5 mà

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Lúc bạn tạo project mới trong vc2k5 nó include tchar trong stdafx.h rồi, bạn xem file đó sẽ rõ. Code của mình bỏ phần include stdafx.h đi cho gọn.

  10. #10
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mình dùng VC2008
    Mình tạo 1 project dạng chuơng trình window và empty (để trống), sau đó mình
    chỉ thêm cái phần khung window mà thôi:

    Mã:
    #include "stdafx.h"
    #include <stdio.h>
    
    int APIENTRY _tWinMain(HINSTANCE hInstance,
    					   HINSTANCE hPrevInstance,
    					   LPTSTR    lpCmdLine,
    					   int       nCmdShow)
    {
    	TCHAR s[100];
    
    	swprintf_s( s,100,_T("so la %d"),3);
    	MessageBox(NULL,s,_T("chao ban"),MB_OK);
    
    	return 0;
    }
    Chương trình biên dịch và chạy ngon lành. [IMG]images/smilies/smile.png[/IMG]

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •