نمایش نتایج 1 تا 5 از 5

نام تاپیک: مشکل در تبدیل string به char

  1. #1

    مشکل در تبدیل string به char

    سلام

    توجه : فرمت ذخیره فایل cpp به صورت utf-8 است .

    من کد زیر برای اجرای برنامه به کار میبرم اما به ورودی آدرس گیر میده :

    #include <windows.h>
    char szPath[] = "C:\\WINDOWS\\system32\\Calc.exe";
    HINSTANCE hRet = ShellExecute(
    HWND_DESKTOP, //Parent window
    "open", //Operation to perform
    szPath, //Path to program
    NULL, //Parameters
    NULL, //Default directory
    SW_SHOW); //How to open

    مشکل همون خط اول که گیر میده به آدرس فایل و خطا این است :

    error : argument of type "char *" is incompatible with parameter of type "LPCWSTR={const WCHAR={__wchar_t} *}"    (Intel C++‎‎‎ 13.0)




    البته وقتی اینگونه مینویسم اجرا میشود ، اما آدرس فایل اجرای من متغییر و نه مثل اینجا ثابت !

    char szPath[] = "C:\\WINDOWS\\system32\\Calc.exe";
    HINSTANCE hRet = ShellExecute(
    HWND_DESKTOP, //Parent window
    _T("open"), //Operation to perform
    _T("C:\\WINDOWS\\system32\\Calc.exe"), //Path to program
    NULL, //Parameters
    NULL, //Default directory
    SW_SHOW); //How to open


    چه کنم حالا ؟؟
    آخرین ویرایش به وسیله jblaox : چهارشنبه 19 تیر 1392 در 03:01 صبح

  2. #2
    کاربر تازه وارد
    تاریخ عضویت
    بهمن 1388
    پست
    45

    نقل قول: مشکل در تبدیل string به char

    احتمالا برنامه شما با فلگ UNICODE کامپایل شده . و در حالت UNICODE ماکروی ShellExecute برابر تابع ShellExecuteW هست.
    برای همین شما باید از Wide Characters استفاده کنید.
    به این تغییر بده :
    #include <windows.h>
    wchar_t szPath[] = L"C:\\WINDOWS\\system32\\Calc.exe";
    HINSTANCE hRet = ShellExecute(
    HWND_DESKTOP, //Parent window
    L"open", //Operation to perform
    szPath, //Path to program
    NULL, //Parameters
    NULL, //Default directory
    SW_SHOW); //How to open

  3. #3

    نقل قول: مشکل در تبدیل string به char

    نقل قول نوشته شده توسط Negative_Se7en مشاهده تاپیک
    احتمالا برنامه شما با فلگ UNICODE کامپایل شده . و در حالت UNICODE ماکروی ShellExecute برابر تابع ShellExecuteW هست.
    برای همین شما باید از Wide Characters استفاده کنید.
    به این تغییر بده :
    #include <windows.h>
    wchar_t szPath[] = L"C:\\WINDOWS\\system32\\Calc.exe";
    HINSTANCE hRet = ShellExecute(
    HWND_DESKTOP, //Parent window
    L"open", //Operation to perform
    szPath, //Path to program
    NULL, //Parameters
    NULL, //Default directory
    SW_SHOW); //How to open
    سلام متشکرم از راهنمایی شما ، اما بهتر دیدم که به جای این کار ، مقدار کاراکتر ست را Multi-byte... قرار بدهم .

  4. #4
    کاربر دائمی آواتار saied_hacker
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    404 Not Found
    پست
    703

    نقل قول: مشکل در تبدیل string به char

    اینجوری میشه ؟!
    char lp[] = "C:\\WINDOWS\\system32\\Calc.exe";
    CString s(lp);
    LPCWSTR f = s;

  5. #5

    نقل قول: مشکل در تبدیل string به char

    نقل قول نوشته شده توسط saied_hacker مشاهده تاپیک
    اینجوری میشه ؟!
    char lp[] = "C:\\WINDOWS\\system32\\Calc.exe";
    CString s(lp);
    LPCWSTR f = s;
    سلام به شما دوست گرامی

    من صورت مسئله را پاک کردم !!!

    از این که لطف کردید و پاسخ دادید متشکر هستم

تاپیک های مشابه

  1. تبدیل String[] به Char[]
    نوشته شده توسط sarasara در بخش C#‎‎
    پاسخ: 1
    آخرین پست: چهارشنبه 24 مرداد 1386, 14:25 عصر
  2. مشکل در تبدیل String به Integer
    نوشته شده توسط rtech در بخش VB.NET
    پاسخ: 12
    آخرین پست: شنبه 01 اردیبهشت 1386, 09:55 صبح
  3. مشکل با تبدیل String به کاراکتر
    نوشته شده توسط shaghayegh_6113 در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 2
    آخرین پست: شنبه 12 اسفند 1385, 19:19 عصر
  4. تبدیل string به char چطور؟
    نوشته شده توسط mehdi_moosavi در بخش برنامه نویسی در Delphi
    پاسخ: 1
    آخرین پست: جمعه 16 دی 1384, 15:14 عصر
  5. یه مشکل در تبدیل String به PAnsichar
    نوشته شده توسط nasr در بخش برنامه نویسی در Delphi
    پاسخ: 2
    آخرین پست: سه شنبه 22 اردیبهشت 1383, 08:19 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •