Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Русские буквы в консоле, как сделать ? 
V
    Опции темы
Trotter
Дата 17.4.2007, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 24.10.2006
Где: Нижний Новгород

Репутация: нет
Всего: 0



_stranger_, твой способ не прокатил :(

dizzy1984, в тваём коде вот ветой строке говарит ошибка вот тута CString sHellow = "Привет"; а точнее перед знаком =
говарит следующие:
[C++ Error] Unit1.cpp(5): E2451 Undefined symbol 'CString'
[C++ Error] Unit1.cpp(5): E2379 Statement missing ;
[C++ Error] Unit1.cpp(6): E2451 Undefined symbol 'sHellow'


Redstuff, в тваём коде говарит следующие 
[C++ Error] Unit1.cpp(1): E2209 Unable to open include file 'stdafx.h'
[C++ Error] Unit1.cpp(3): E2209 Unable to open include file 'iostream'
[C++ Error] Unit1.cpp(4): E2209 Unable to open include file 'string'
[C++ Error] Unit1.cpp(14): E2141 Declaration syntax error


PM MAIL ICQ   Вверх
archimed7592
Дата 17.4.2007, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Trotter, в твАём варианте нужно поправить настройки проекта... ап.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Trotter
Дата 18.4.2007, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 24.10.2006
Где: Нижний Новгород

Репутация: нет
Всего: 0



archimed7592, а как, не подскажеш ? 
PM MAIL ICQ   Вверх
dizzy1984
Дата 18.4.2007, 06:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 15.2.2007

Репутация: 3
Всего: 25



Trotter, какой компилятор вы используете?
Мои примеры компилируются и запускаются на VC++8.0
С поправкой cout<<(LPCSTR)sHellow на VC++6.0

[C++ Error] Unit1.cpp(1): E2209 Unable to open include file 'stdafx.h'
Очень сильно смахивает на bc++ builder.

Для него я могу разве посоветовать только

Код

char source [] = "Привет";
char dest [sizeof(source)];
AnsiToOem(source,dest);
cout<<dest;
getch();


Вам же предстоит написать на основе этого функцию, которая работает с произвольной длиной строки.

Это сообщение отредактировал(а) dizzy1984 - 18.4.2007, 06:08
PM MAIL   Вверх
_stranger_
Дата 18.4.2007, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 3.10.2006
Где: город-герой Киев

Репутация: 2
Всего: 2



Цитата

   _stranger_, твой способ не прокатил :(

Trotter, что говорит компилятор??? кстати а какой компилятор используете?
 еще попробуйте
Код

   std::locale::global(std::locale("Russian_Russia.1251"));
   // или std::locale::global(std::locale(".1251"));
 


PM MAIL   Вверх
Redstuff
Дата 18.4.2007, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Trotter, 
Цитата

[C++ Error] Unit1.cpp(1): E2209 Unable to open include file 'stdafx.h'
[C++ Error] Unit1.cpp(3): E2209 Unable to open include file 'iostream'
[C++ Error] Unit1.cpp(4): E2209 Unable to open include file 'string'


'stdafx.h' - в визулке, если ты не в ней, то эта либа вообще не нужна.
Попробуй добавить .h на конце:
Код

#include "iostream.h";
#include "string.h";


Это сообщение отредактировал(а) Redstuff - 18.4.2007, 16:03


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
Trotter
Дата 18.4.2007, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 24.10.2006
Где: Нижний Новгород

Репутация: нет
Всего: 0



_stranger_, не прокатило, запускается но отображаются всёравно эроглефы
dizzy1984, у меня C++Builder 6 попробовал твой код не прокатило (хотя незнаю куда надо было его добовлять) вот такая вот ошибка  [C++ Error] Unit1.cpp(7): E2268 Call to undefined function 'AnsiToOem'

Redstuff, "h" всегда ставлю в конце..
Мужики если мона то давайте мне полный код а не отрывки, а то я из книжки всего 80ст прочитал и незнаю чё куда надо писать :(
PM MAIL ICQ   Вверх
dizzy1984
Дата 19.4.2007, 05:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 15.2.2007

Репутация: 3
Всего: 25



Запускаю BCB6.0
Иду File->New->Other->Console Wizard.
Убеждаюсь в присутствии SourceType C++, Use VCL, Console Application.
Жму OK.
Добавляю в удобное для тебя место функцию

Код

AnsiString ConvToOem(char * szStr)
{
        char * szDest = new char [strlen(szStr) + 1];
        AnsiString ret;
        AnsiToOem(szStr, szDest);
        ret = szDest;
        delete [] szDest;
        return ret;
}


Перед директивой #pragma hdrstop подключаю следующие хидеры
#include <iostream.h>
#include <conio.h>

Пишу тестовый код в main
Код

cout<<ConvToOem("Привет").c_str();
getch();


Моя реалиазция работает через winapi функцию AnsiToOem.
Не уверен, но думаю что в vcl должен быть класс который умеет это сам.
Еще можно использовать wprintf и, похоже, cout. Но это уже другая история

PM MAIL   Вверх
Trotter
Дата 21.4.2007, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 24.10.2006
Где: Нижний Новгород

Репутация: нет
Всего: 0



dizzy1984, усё работает нармально, СПАСИБО !
PM MAIL ICQ   Вверх
JackYF
Дата 22.4.2007, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 18
Всего: 162



Цитата(dizzy1984 @  19.4.2007,  05:57 Найти цитируемый пост)
Убеждаюсь в присутствии SourceType C++, Use VCL, Console Application.


 smile  Нет, ну использовать VCL в консольном приложении... smile даже не придумал, как это можно назвать...



--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
nerezus
Дата 22.4.2007, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 3
Всего: 43



JackYF, а это плохо?

Кстати, я наверное неправильно понимаю само понятие VCL, если оно неверное, то поправьте меня: компонент VCL - это класс с некоторым описанием, позволяющим поместить его на панель инструментов, добавляющимся в приложение через эту панель и позволяющим настроить свойства/события через специальное окно в IDE?

Если это так, то тогда что плохого в ООП?


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
JackYF
Дата 22.4.2007, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 18
Всего: 162



Цитата(nerezus @  22.4.2007,  09:17 Найти цитируемый пост)
Если это так, то тогда что плохого в ООП? 

В ООП - пожалуйста, нет ничего плохого. Никто не удивится классам в консольном приложении.
А вот VCL был разработан для Rapid Application Delevelopment в визуальной среде. Использовать его в консольном приложении ради, допустим, CharToOem - для меня странно.

Кроме того, если не ошибаюсь, то сама поддержка VCL потребует библиотек, которые придется либо таскать с собой, либо статически линковать. Если, конечно, оно только для дома, то и ладно. Но сам подход - использовать VCL в консольном приложении - мне претит. Это все имхо, конечно. Кто несогласен - особо спорить не буду. Кому-то удобнее. Мне - нет.



--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
nerezus
Дата 22.4.2007, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 3
Всего: 43



Цитата

Кроме того, если не ошибаюсь, то сама поддержка VCL потребует библиотек, которые придется либо таскать с собой, либо статически линковать. 
 А это плохо? С каких пор стали играть роль лишние сотни кило?


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
dizzy1984
Дата 22.4.2007, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 15.2.2007

Репутация: 3
Всего: 25



Цитата(JackYF @  22.4.2007,  00:04 Найти цитируемый пост)
даже не придумал, как это можно назвать

Зачем так грубо? Сами вы ведь не потрудились предоставить хоть какое-то решение.

Цитата(JackYF @  22.4.2007,  12:11 Найти цитируемый пост)
 VCL был разработан для Rapid Application Delevelopment в визуальной среде. Использовать его в консольном приложении ради, допустим, CharToOem - для меня странно

VCL содержит обертки для win32api функций, их использовать удобнее нежели LoadLibrary или линковку с соответствующим *.lib файлом. Если бы я провернул такой трюк, мой пример слат бы менее понятным. Кроме того, все зависит от сложности проекта, ведь не всем нужно изобретать велосипеды.
Цитата(JackYF @  22.4.2007,  12:11 Найти цитируемый пост)
 VCL потребует библиотек, которые придется либо таскать с собой, либо статически линковать

Ввиду того что линковаться будет только то, что использует программа перерасход должен быть небольшой. Ну а динамически - когда я пишу программу на mfc я представляю себе что за библиотеки она использует... не вижу здесь проблемы.

PM MAIL   Вверх
JackYF
Дата 23.4.2007, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 18
Всего: 162



Цитата(dizzy1984 @  22.4.2007,  16:40 Найти цитируемый пост)
Зачем так грубо?

Я как раз хотел наименее грубо, но не получилось.

Цитата(dizzy1984 @  22.4.2007,  16:40 Найти цитируемый пост)
Сами вы 

Хм... ну можно и на ты, если хотите.


Цитата(dizzy1984 @  22.4.2007,  16:40 Найти цитируемый пост)
Кроме того, все зависит от сложности проекта

Вряд ли хоть сколько-либо сущность, называемая проектам, будет использовать вывод в консоль русских букв. Исключение - лабы в универах.
Имхо, ибо тут тоже будут со мной спорить.


Цитата(dizzy1984 @  22.4.2007,  16:40 Найти цитируемый пост)
предоставить хоть какое-то решение.

По самому вопросу была уже далеко не одна тема. Если воспользоваться поиском, то можно найти все решения, предоставленные здесь + еще некоторые. Копипастить я не намерен, ничего нового от себя не добавлю. Могу разве что предоставить прямую ссылки на более ранние темы по этому вопросу, если нужно.


Цитата(dizzy1984 @  22.4.2007,  16:40 Найти цитируемый пост)
пишу программу на mfc

Ну вряд ли, когда вы пишете проект, вы из всего многообразия mfc используете класс CString? В данном случае именно так - VCL подключается ради одной-единственной функции.

Цитата(nerezus @  22.4.2007,  12:22 Найти цитируемый пост)
А это плохо? С каких пор стали играть роль лишние сотни кило? 

Сотни кило библиотек, которые реально используются в программе - это нормально и от этого никуда не деться. А вот подключать сотни кило ради использования из них нескольких сотен байт бинарного кода - не очень, имхо. Тем более, что это не супер сложный код, а легко(имхо) воспроизводимый.



--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Страницы: (4) Все 1 [2] 3 4 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0620 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.