اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

چطور میتونم مقداری از نوع wchar_t چاپ کنم؟

+2 امتیاز
644 نمایش

من کد زیر رو دارم:

#include <iostream>

using namespace std;

int main()
{
    wchar_t en[] = L"Hello";
    wchar_t ru[] = L"Привет"; //Russian language
    cout << ru
         << endl
         << en;
    return 0;
}

ولی تنها مقداری در مبنای 16 مثل آدرس چاپ میکنه. چطور میتونم رشته wchar_t رو چاپ کنم؟

پرسیده شده سه شنبه ۱۳ فروردین ۱۳۹۲ در C++ توسط CPP_Crawler4  
بازتگ شده سه شنبه ۱۸ تیر ۱۳۹۲

2 پاسخ

+2 امتیاز

برای چاپ کردن داده های عریض یا wchar_t باید از دستور wprintf استفاده کنیم.
برای مثال کد زیر رو نوشتم:

#include <wchar.h>
#include <iostream>

using namespace std;

int main()

{
    wchar_t en[] = L"Hello";
    wchar_t ru[] = L"Привет"; //Russian language
    wprintf (L"%ls \n", en);
    wprintf (L"%ls \n", ru);
    return 0;

}
Don't Expect Anyone Except Yourself,...
پاسخ داده شده سه شنبه ۱۳ فروردین ۱۳۹۲ توسط Arash  
ویرایش شده سه شنبه ۱۳ فروردین ۱۳۹۲ توسط Arash

این بازم جواب نمیده. میگه illegal byte sequence

تصحیح شد.
متاسفانه من نمیتونم کدها رو کامپایل کنم واسه همین فعلا امکان تست کدها رو ندارم. اگه مشکل داره لطفا اطلاع بدید...

+1 امتیاز

فکر میکنم با wcout هم میشه اینو چاپ کرد:

std::wcout << L"INSERT MULTIBYTE WCHAR* HERE" << std::endl;
پاسخ داده شده سه شنبه ۱۳ فروردین ۱۳۹۲ توسط CPP_Crawler5