PDA

View Full Version : سوال در مورد استفاده از زبان فارسی در سی



mmvalinezhad
شنبه 24 اسفند 1392, 00:18 صبح
با سلام
خدمت دوستان و اساتید محترم
آیا این امکان وجود دارد که برنامه ای در زبان c++ بنویسیم که بتواند زبان فارسی را بخواند و یا پیغام های فارسی چاپ کند؟به چه شکلی؟
با تشکر

rahnema1
شنبه 24 اسفند 1392, 06:06 صبح
سلام
اگه منظورتون فارسی نویسی در محیط کنسوله ابتدا باید در ویندوز و کنسول یه سری تنظیمات انجام بشه که در این تاپیک توضیح دادم
http://barnamenevis.org/showthread.php?429755
بعدش هم یک فایل با انکدینگ utf8 درست کنید و این کد را در اون بذارید یعنی خواندن و نوشتن حروف باید به این صورت وارونه باشه چیزی شبیه کاری که فارسی ساز ها می کنند

#include<stdio.h>
#include<windows.h>
int main() {
SetConsoleOutputCP(65001);
const char unicode_text1[]="ﻰﺳﺭﺎﭘ";
printf("%s\n", unicode_text1);
}

فکر کنم بدون استفاده از SetConsoleOutputCP هم کار می کنه

mmvalinezhad
یک شنبه 25 اسفند 1392, 09:53 صبح
سلام
اگه منظورتون فارسی نویسی در محیط کنسوله ابتدا باید در ویندوز و کنسول یه سری تنظیمات انجام بشه که در این تاپیک توضیح دادم
http://barnamenevis.org/showthread.php?429755
بعدش هم یک فایل با انکدینگ utf8 درست کنید و این کد را در اون بذارید یعنی خواندن و نوشتن حروف باید به این صورت وارونه باشه چیزی شبیه کاری که فارسی ساز ها می کنند

#include<stdio.h>
#include<windows.h>
int main() {
SetConsoleOutputCP(65001);
const char unicode_text1[]="ﻰﺳﺭﺎﭘ";
printf("%s\n", unicode_text1);
}

فکر کنم بدون استفاده از SetConsoleOutputCP هم کار می کنه

من کار تغییر فونت در داخل رجیستری ویندوز و کنسول را انجام دادم،اما باز هم فارسی نمی شود؟ً!

rahnema1
یک شنبه 25 اسفند 1392, 10:06 صبح
دقیقا مراحلی که گفته بودم انجام دادید .مثل restart سیستم و ..؟
اگه این جوره احتمالا شما برنامه را از محیط ویژوال استادیو اجرا می کنید. لطفا با cmd به فولدری که exe در اون قرار داره برید و برنامه را اجرا کنید فکر کنم جواب بده