|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.04.2013, 22:31 | #1 |
Форумчанин
Регистрация: 17.03.2012
Сообщений: 105
|
Заголовочные файлы
1. Пишу программы в Visual studio 2010. В книгах для использования различных функций, например gets(), необходимо подключать разные заголовочные файлы. В моем случае подключения iostream достаточно и все функции вроде бы как работают исправно. Нужно ли мне подключать другие заголовочные файлы, или же iostream вполне хватит?
2. И другой вопрос. Для поддержки русского языка использую setlocale(LC_ALL,"Russian"), но если получить строку с кириллицей с помощью gets() и вывести ее на экран, то буквы отображаются неправильно. Можно ли как то это исправить? |
11.04.2013, 03:02 | #2 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
2. Запускаем консоль, щелкаем на заголовке окна и выбираем свойства. В свойствах на закладке Шрифт ставим шрифт Lucida Console и жмем ОК. |
|
11.04.2013, 07:26 | #3 | |
Форумчанин
Регистрация: 17.03.2012
Сообщений: 105
|
Цитата:
И хотя я уже нашел решение с помощью SetConsoleCP(1251) и SetConsoleOutputCP(1251), но тут требуется библиотека Windows.h, а значит на линукс программу не получится (если не ошибаюсь, коненчо). Последний раз редактировалось Dima-War; 11.04.2013 в 07:37. |
|
11.04.2013, 10:43 | #4 |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
Начнем с того, что если вы хотите писать и под виндовс и под линукс, то вам нужен другой компилятор. Желательно тот, который есть и под виндовс и под линукс. (как вариант - gcc).
Код из вижуал студии в любом случае придется перепиливать, что бы он скомпилировался в другом компиляторе.
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс |
11.04.2013, 11:38 | #5 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
В ситуациях, когда хочется кросс-платформенности, люди обычно поступают тремя способами: 1. Смотрят в сторону уже готовых кросс-платформенных библиотек. Что бы не тратить время на велосипед, а по возможности использовать готовое. 2. Определяют целевые платформы и пишут кросс-платформенный код (об этом чуть ниже). 3. Если нет готовых библиотек, а самому писать хлопотно, то иногда люди думают: да ну его нафиг! И пишут код под одну самую важную платформу. А потом, если взлетит - портируют код на другие платформы. При этом, под каждую конкретную платформу код может быть сильно изменен, вплоть до замены целых подсистем. Про кросс-платформенный код: компиляторы языка с++ определяют собственные дефайны препроцессора, по котором их можно идентифицировать. И в соответствии с компилятором, препроцессором можно подстраивать код под этот компилятор. Например: Код:
Код:
А в секцию GCC_COMPILER - настройку под линуксы. |
|
11.04.2013, 12:25 | #6 |
Форумчанин
Регистрация: 17.03.2012
Сообщений: 105
|
Ясно, спасибо
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Заголовочные файлы Dt | Peleduy | Qt и кроссплатформенное программирование С/С++ | 0 | 17.10.2012 13:19 |
Заголовочные файлы в Си | Pirr | Общие вопросы C/C++ | 12 | 18.03.2011 00:29 |
Заголовочные файлы | legendary | Общие вопросы C/C++ | 1 | 11.09.2010 19:41 |
Заголовочные файлы | Гром | Общие вопросы C/C++ | 4 | 31.08.2009 15:36 |
Заголовочные файлы. C++ | Vi_King | Помощь студентам | 2 | 03.04.2008 18:47 |