|
|
|
| Не получается сделать.....
Поиск юзал, пробовал ваш способ сменить шрифт на Lucida Console.......Эффект такой же :9
Не знаю что делать | |
|
|
|
|
|
|
|
для: SnooPI
(28.03.2007 в 12:18)
| | Вы меняете кодировку в самой программе?
| |
|
|
|
|
|
|
|
для: cheops
(28.03.2007 в 13:37)
| | В программе ничего не делаю......ну вот допустим
#include <iostream>
using namespace std;
int main()
{
int chislo;
cout << "Введите число";
cin >> chislo;
cout << "Вы ввели число\n" << chislo;
return 0;
}
|
То в каком месте этого кода мне поставить кодировку?:) | |
|
|
|
|
|
|
|
для: SnooPI
(28.03.2007 в 13:42)
| | Попробуйте следующим образом
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
int chislo;
system("chcp 1251");
cout << "Введите число";
cin >> chislo;
cout << "Вы ввели число\n" << chislo;
return 0;
} |
| |
|
|
|
|
|
|
|
|
для: Саня
(28.03.2007 в 13:47)
| | Все спасибо, просто в cmd прописал строку "chcp 1251" =) | |
|
|
|
|
|
|
|
для: SnooPI
(28.03.2007 в 13:51)
| | я даже не знал что можно так кодировку подключить!!!
С этой проблемой можно справится вот так:
создать заголовочный файл <rusout.h>
вот код:
//----------------------------------------------
//rusout.h--------------------------
#ifndef RUSOUT_H
#define RUSOUT_H
#include<windows.h>
#include<iostream>
#include<stdio.h>
using namespace std;
ostream& operator<< ( ostream& out, const char* str){
char*temp = new char[strlen(str)+1];
if(CharToOemA ( str, temp)){
printf("%s" , temp);
}
return out;
}
#endif
теперь за место <iostream> используй <rusout.h > или <rusout >
этот код сохрани с раширением rusout.h и добавь в папку инклуд, или какая там у те? Думаю всё
этот пример написан не мной но работает классно MS Visual C++ 6.0 | |
|
|
|
|
|
|
|
для: XPyCT
(30.03.2007 в 10:05)
| | Я тут вижу две ошибки. Перед использованием этого кода лучше бы их исправить :-) | |
|
|
|
|
|
|
|
для: oleg_alexeev
(30.03.2007 в 11:13)
| | я этот код не писал !!!
Я им пользуюсь в MS V C++ 6.0
я новичок в этом деле
только прошол курс С++ но понту мало курс это не институт вот и шагаю с гордо поднятой головой по форумам! А где ошибка то? - если можно
и еще вопрос - если можно
к примеру я хочу поговорить с компом своим
для этого пишу следующий код
//Болталка
#include <iostream.h>
void main ()
{
char slovo;
cout<<"привет юзер как дела? "<<endl;
cin>>slovo;
if (slovo=='ok')cout<<"значит хорошо";
if (slovo=='плохо')cout<<"Почему ?";
cin.get ();
}
переменная char для одного символа заключенного в одинарные кавычки!!!!
СООТВЕТСТВЕННО это не годится , как это реализовать?
за ранее спасибо | |
|
|
|
|
|
|
|
для: XPyCT
(30.03.2007 в 19:00)
| | Товарищи, не разводите оффтоп! Заведите новую тему! | |
|
|
|
|
|
|
|
для: XPyCT
(30.03.2007 в 19:00)
| | Главная ошибка в том, что память, выделенная под временную строку, не освобождается при выходе из функции. Это так называемая утечка ресурсов. Другая ошибка в том, что вывод делается с помощью printf(). Эта функция выводит строку в стандартный поток вывода, так что это решение работает правильно только когда потоком для вывода является std::cout, а не произвольный поток.
Для других вопросов действительно лучше создавать новые темы, но отвечу по-быстрому тут. Надо объявить slovo как переменную типа std::string. | |
|
|
|
|
|
|
|
для: oleg_alexeev
(31.03.2007 в 17:11)
| | большое спасибо от всей души!!!!
Но дело в том что в моем долбаном висуал С++ 6.0 это все не работаеет!!!
я скачал DEV C++ - и попробовал сделать руссификацию по указанному выше примеру
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
int chislo;
system("chcp 1251");
cout << "Введите число";
cin >> chislo;
cout << "Вы ввели число\n" << chislo;
return 0;
}
все равно выдаеет иероглефы и мой русоут тоже не работаеет вот такая петрушка!!!
и хз как с этим боротся, скиньте плиз пример или заголовочный файл для dev C++ для винды
____________________________________________
наверно в мои 40 лет уже поздно изучать С++ :) - не судите строго | |
|
|
|
|
682 байт |
|
|
для: XPyCT
(02.04.2007 в 10:01)
| | А что у вас выдает система при вводе с консоли chcp без параметров?
Что выдает при вводе chcp 1251?
Есть ещё способ выводить русские сообщения правильно - это набрать их в тексте программы сразу в нужной кодировке. Сделать это можно так - кодировка консоли у меня 866, открываю свой исходник в Far-е и выставляю досовскую кодировку (866), набираю русские сообщения и компилирую - всё отображается нормально без переключений. Пример прилагается. | |
|
|
|
|
|
|
|
для: oleg_alexeev
(02.04.2007 в 11:52)
| | система пишет что все правильно сделано без ошибок eror -0 warning-0 | |
|
|
|
|
|
|
|
для: XPyCT
(02.04.2007 в 10:01)
| | Там хитрость имеется - залезьте в свойства консольного окна и измените шрифт с точечного на Lucida Console - точечные шрифты не поддерживают cp1251. | |
|
|
|
|
|
|
|
для: cheops
(02.04.2007 в 13:10)
| | fhx за совет в среду прейдет учитель с ним вмемте попробуем
с ув XPyCT | |
|
|
|
|
|
|
|
для: cheops
(02.04.2007 в 13:10)
| | все норм спасибо!!!
вопрос теперь он уведомляеет меня о том что на что используется кодировка 1251
вот результат исполнения кода
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Текущая кодовая страница: 1251
Введите число
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
да и еще чтоб программа не исчезала мгновенно я в висуал С++ 6.0
использовал - cin.get (); - В dev C++ это не работаеет | |
|
|
|
|
|
|
|
для: XPyCT
(02.04.2007 в 15:02)
| | Подавить вывод можно перенаправив его в файл, например в text (как то можно подавлять вывод без создания файла, но что-то не помню как это в Windows делается).
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
system("chcp 1251 > text");
cout << "Введите число" << endl;
system("PAUSE");
return 0;
} |
>да и еще чтоб программа не исчезала мгновенно я в висуал С++ 6.0
>использовал - cin.get (); - В dev C++ это не работаеет
Для этого можно использовать system("PAUSE"), раз уж всё равно system() используется.
PS Под новые вопросы, лучше заводить новые темы. | |
|
|
|
|
|
|
|
для: cheops
(02.04.2007 в 15:17)
| | Большое спасибо - далее создам новю тему
____________________________________
XPyCT | |
|
|
|
|
|
|
|
для: cheops
(02.04.2007 в 15:17)
| | Из всего выше изложеного даный пример приведенный уважаемым "cheops" наиболее практичен и применяем большое спасибо.
Я испробовал все о чем здесь говорили наиболее коретно работаеет именно этот
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
system("chcp 1251 > text");
cout << "Введите число" << endl;
system("PAUSE");
return 0;
} | |
|
|
|
|
|
|
|
для: SnooPI
(28.03.2007 в 12:18)
| | Есть еще один способ решения проблемы:
#include <iostream>
#include <string>
#include <locale>
using namespace std;int main( void )
{
setlocale(LC_ALL, ".OCP");
wstring rus;
rus = L"Русские буквы"
wcout<<rus;
number();
return 0;
}
|
Я может допустил ошибки в коде(я давно не программировал на C++), но дело в этом:
там просто используется больше чем один байт на один символ.
Локаль если не ошибаюсь можно убрать. Я этот способ давно в интернете нашел. | |
|
|
|
|
|
|
|
для: SnooPI
(28.03.2007 в 12:18)
| | Можно еще воспользоваться функцией chartooem | |
|
|
|
|
|
|
|
для: like-nix
(13.06.2007 в 02:56)
| | "залезьте в свойства консольного окна и измените шрифт с точечного на Lucida Console - точечные шрифты не поддерживают cp1251."
Как попасть в эти свойства?
"Есть ещё способ выводить русские сообщения правильно - это набрать их в тексте программы сразу в нужной кодировке. Сделать это можно так - кодировка консоли у меня 866, открываю свой исходник в Far-е и выставляю досовскую кодировку (866), набираю русские сообщения и компилирую - всё отображается нормально без переключений. Пример прилагается."
Как выставить досовскую кодировку в файле? Где пример?
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
system("chcp 1251 > text");
cout << "Введите число" << endl;
system("PAUSE");
return 0;
}
|
У меня не исправляет крякозябры. | |
|
|
|
|
|
|
|
для: fs444
(25.09.2009 в 13:53)
| | 1) Нажмите иконку в правом верхнем углу - появится контекстное меню из которого нужно выбрать меню "Свойства".
2) Имеется в виду редактор Far - там очень просто можно менять кодировку всего файла. | |
|
|
|
|
|
|
|
для: cheops
(25.09.2009 в 14:54)
| | Да, в свойствах консоли были "Точечные шрифты". Поставил "Licuida Console" и наконецто увидел нормальные русские буквы=) | |
|
|
|