argon bulletin board
Факултети => Факултет по математика и информатика => Темата е започната от: hypocritic в 22.02.2012, 15:09:25
-
Здравейте,
Решавам задачи на С++ от учбник, но немога да използвам кирилица. С други думи когато решавам елементарни задачки си пиша във cin ili cout "нещо на кирилица", а когато стартирам компилаторът ми излиза !@#%$#%#$^ а.к.а. нещо като гръцка азбука. Може ли някой да ми помогне и да ми каже как да си направя програмата така, че да показва българските буквички? :roll:
-
По спомени... проблемът би трябвало да ти е в настройките на конзолата. Опитай се да смениш encoding-a на конзолата - на utf-8, windows-1251 или cp1251 (конзолата е онова нещо в което ти излиза резултата).
Ако конзолата ти е част от IDE-то - търси настройките там. Ако ползваш Command Prompt на Windows - настройваш него. Ако ползваш linux - нямам идея.
-
Благодаря за помоща, но ако можеж да доуточниш къде точно се намират настроиките на тия IDE-тат и прочие,...
-
Аз не пиша на C++ от 10 години и не съм актуален.
Но ако кажеш с какво IDE работиш предполагам, че някой колега може да ти помогне повече.
-
microsoft visual c++ 2006
-
Докато някой ти даде смислен отговор можеш да видиш това: http://www.cplusplus.com/forum/windows/9797/ (http://www.cplusplus.com/forum/windows/9797/)
Edit:
До колкото схващам ключа е:
SetConsoleOutputCP(CP_UTF8);
-
http://forums.data.bg/index.php?showtopic=1172004 постове 6 и 7
Разгледай и поста на Codeplug November 5th, 2010, 01:56 AM тук http://www.codeguru.com/forum/archive/index.php/t-504805.html - вместо 1250 ползвай 1251. Може да се наложи и настройка на промпта.
Емо, не го вкарвай в UTF-8, че не знам Unicode низове ли ползва...
-
Нищо не става нито от http://forums.data.bg/index.php?showtopic=1172004
нито от http://www.cplusplus.com/forum/windows/9797/
или пък от http://www.codeguru.com/forum/archive/index.php/t-504805.html
Не ви обвинявам в нищо, предполагам, че аз не ви давам достатачно информация за това каакво всъшност използвам, но за жалост не съм много навътре с unicode IDE UTF-8 и прочие, аз съм просто кандидат-студент ... :(
-
Пробвай да си направиш нов проект и в него да имаш един единствен файл, който да съдържа само това:
//Visual C++ 2005 Express
#include "stdafx.h"
#include <windows.h>
#pragma comment(lib, "user32.lib")
int _tmain(int argc, _TCHAR* argv[])
{
SetConsoleOutputCP(1251);
char buff[] = "Здравей свят на български!";
CharToOemA(buff, buff);
printf("%s", buff);
return 0;
}
Според http://forums.data.bg/index.php?showtopic=1172004&view=findpost&p=8183296 (http://forums.data.bg/index.php?showtopic=1172004&view=findpost&p=8183296) това трябва да работи. Предполагам, че работи само ако конзолата ти е част от IDE-то - т.е. не е Command Prompt-a.
Никога не съм имал инсталирано VC и не мога да пробвам за да ти дам по-смислени идеи. Мисля, си че ще получиш по-точни насоки ако качиш тук един screenshot на IDE-то и конзолата с омазаната кирилица. Така ще се спестят доста уточняващи въпроси.
-
Преди и аз имах същия проблем, но не бях с Visual Studio, а с CodeLite.
Ето едно алтернативно решение (http://e-uroci.net/2010/10/30/%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%BD%D0%BE-%D0%B8%D0%B7%D0%B2%D0%B5%D0%B6%D0%B4%D0%B0%D0%BD%D0%B5-%D0%BD%D0%B0-%D0%BA%D0%B8%D1%80%D0%B8%D0%BB%D0%B8%D1%86%D0%B0-%D0%B2-c/).
-
Това което ми препоръчваш може би ще стане, но отново има друг проблем, дава ми грешка. Програмата казва, че неможе да намери тази библиотека, поразпитах чичо гугъл и той ми каза, че като цяло е по-добре да си сваля или по-старата версия на VC a.k.a VC 2005 или по-новата - 2008. Това не е проблем в случая, но учебника на Хр. Крушков който ползвам в момента е написан за 2006, а аз явно няма да мога да се справя с хедарите на 2008 защото са различни. Малко по-късно ще кача и скреен-шотове на ИДЕ-то. Благодаря за насоката !
-
Преди и аз имах същия проблем, но не бях с Visual Studio, а с CodeLite.
Ето едно алтернативно решение (http://e-uroci.net/2010/10/30/%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%BD%D0%BE-%D0%B8%D0%B7%D0%B2%D0%B5%D0%B6%D0%B4%D0%B0%D0%BD%D0%B5-%D0%BD%D0%B0-%D0%BA%D0%B8%D1%80%D0%B8%D0%BB%D0%B8%D1%86%D0%B0-%D0%B2-c/).
Това вече го пробвахме вчера и не става, но благодаря ти за вниманието !
-
Пробвай да си направиш нов проект и в него да имаш един единствен файл, който да съдържа само това:
//Visual C++ 2005 Express
#include "stdafx.h"
#include <windows.h>
#pragma comment(lib, "user32.lib")
int _tmain(int argc, _TCHAR* argv[])
{
SetConsoleOutputCP(1251);
char buff[] = "Здравей свят на български!";
CharToOemA(buff, buff);
printf("%s", buff);
return 0;
}
Според http://forums.data.bg/index.php?showtopic=1172004&view=findpost&p=8183296 (http://forums.data.bg/index.php?showtopic=1172004&view=findpost&p=8183296) това трябва да работи. Предполагам, че работи само ако конзолата ти е част от IDE-то - т.е. не е Command Prompt-a.
Никога не съм имал инсталирано VC и не мога да пробвам за да ти дам по-смислени идеи. Мисля, си че ще получиш по-точни насоки ако качиш тук един screenshot на IDE-то и конзолата с омазаната кирилица. Така ще се спестят доста уточняващи въпроси.
Ето и снимки, дано да съм качил ИДЕ-то а не нещо друго, защото знам какво означава като абривиатура ИДЕ, ама дали е това което съм качил ти ще кажеш...
(http://img401.imageshack.us/img401/7198/54328217.th.png) (http://imageshack.us/photo/my-images/401/54328217.png/)
-
Пробвай да си направиш нов проект и в него да имаш един единствен файл, който да съдържа само това:
//Visual C++ 2005 Express
#include "stdafx.h"
#include <windows.h>
#pragma comment(lib, "user32.lib")
int _tmain(int argc, _TCHAR* argv[])
{
SetConsoleOutputCP(1251);
char buff[] = "Здравей свят на български!";
CharToOemA(buff, buff);
printf("%s", buff);
return 0;
}
Според http://forums.data.bg/index.php?showtopic=1172004&view=findpost&p=8183296 (http://forums.data.bg/index.php?showtopic=1172004&view=findpost&p=8183296) това трябва да работи. Предполагам, че работи само ако конзолата ти е част от IDE-то - т.е. не е Command Prompt-a.
Никога не съм имал инсталирано VC и не мога да пробвам за да ти дам по-смислени идеи. Мисля, си че ще получиш по-точни насоки ако качиш тук един screenshot на IDE-то и конзолата с омазаната кирилица. Така ще се спестят доста уточняващи въпроси.
Ето и снимки, дано да съм качил ИДЕ-то а не нещо друго, защото знам какво означава като абривиатура ИДЕ, ама дали е това което съм качил ти ще кажеш...
(http://img401.imageshack.us/img401/7198/54328217.th.png) (http://imageshack.us/photo/my-images/401/54328217.png/)
(http://img687.imageshack.us/img687/6062/23588179.th.png) (http://imageshack.us/photo/my-images/687/23588179.png/)
-
Стават си повечето съвети, но изпускат една малка подробност - не ти е настроен шрифта, което ти го и казаха по-горе. За ХР, като стартираш първият път програмата, даваш на титъл бара Properties - Fonts - Lucida Console (обикновено някоя програма го сменя). В Regional Settings задаваш Language for Non Unicode Programs - Cyrillic или Win1251 не помня какво беше точно;
Ето ти шотче:
(http://enkov.com/downloads/CYRILIIC_CPP.png)
На титъл бара - дето пише C:\> и d:\Temp\..... в моят пример, там натискаш с десен бутон и Properties...
Ето и програмата:
#include <iostream>
#include <stdio.h>
#include <windows.h>
using namespace std;
int main()
{
SetConsoleOutputCP(1251);
cout << "Вече имаме и кирилица... Ура, ура!" << endl;
system("Pause");
return 0;
}
-
къде има коктейл бар , близо до фми-то ?
-
В него С++ ли желаете да Ви сервират? Темата е за С++...
-
брех вие сте били много изобретателни C++ коктейл :D
а ако съм с информатика мога ли да си поръчам от другите коктейли примерно математически квадратно уравнен коктейл ?
-
ascaron50, защо пълниш една смислена тема с боза? Светльо Енков се опита да не бъде груб, което явно се оказа без особен ефект при теб.
Вземи да прочетеш това (https://forum.uni-plovdiv.net/index.php?topic=2233#top) преди да напълниш още нещо с глупости.
Подобен род въпроси предполагам подхождат повече на форума Public.