Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Обучение и начало програмирования на С++

Автор: momo2000
Дата сообщения: 15.04.2011 14:50
Необходима помощь в С++, программировать ничего не надо.
У меня есть курсач с инета, а я только начинаю вникать в суть дела.
Не могли бы вы расписать как можно подробнее, что к чему на первых 6 страницах (там много повторяющихся действий), весь код привёл, т.к. вдруг понадобиться для общего понимания.
http://rghost.ru/5198051

Или мне в эту тему?
Автор: Molniev
Дата сообщения: 16.04.2011 18:29
Действий то там повторяющихся нет, хотя конструкций однообразных много. Но компиляторы эта такая вещь, чьё описание много больше самих исходников + проще по описанию написать исходник, чем наоборот.
Я бы посоветовал непариться и присмотреть курсач попроще.
Автор: bomzzz
Дата сообщения: 19.04.2011 14:37
никто не подскажет, как сконвертировать http ссылку из юникода в обычную кодировку.

UrlEscape - а вот эта функция из какой библиотеки винды?
это нашел shlwapi
Автор: bomzzz
Дата сообщения: 19.04.2011 17:59
всё сделал, спасибо за внимание
Автор: HelioSS
Дата сообщения: 01.06.2012 20:12
Посмотрел как справляются с выводом кракозябр в консоли. Ни один пример у меня не сработал за исключением случая написания дополнительной отдельной функции.
А всё же - как под Win компилятором GCC вывести нормальночитаемую кириллицу в консоли?
Автор: Abs62
Дата сообщения: 01.06.2012 20:45
HelioSS
Ну вот, например

Код: #include <windows.h>
#include <stdio.h>

void main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    printf ("Кириллица в консоли\n");
}
Автор: akaGM
Дата сообщения: 02.06.2012 10:54
HelioSS
плюс к этому, у тебя в этой самой консоли должен быть выбран "кириллице-содержащий" шрифт...
Автор: HelioSS
Дата сообщения: 03.06.2012 14:01
Abs62

Цитата:
HelioSS
Ну вот, например

Всё равно кракозябры

akaGM

Цитата:
плюс к этому, у тебя в этой самой консоли должен быть выбран "кириллице-содержащий" шрифт...

Не думаю, что это так, потому что я, в принципе, могу добиться вывода на консоль кириллицы путём написания дополнительной функции:

Код: char * ToRus(char * str)
{
char * buf = new char [sizeof(str)];
CharToOem(str, buf);
return buf;
}
Автор: DJ Kovrik
Дата сообщения: 03.06.2012 15:21
HelioSS

Цитата:

#include <iostream>
#include <clocale>

using namespace std;

int main() {

setlocale( LC_CTYPE,"Russian" );

cout << "Русский текст" << endl;

return 0;
}
Автор: HelioSS
Дата сообщения: 03.06.2012 15:55
DJ Kovrik
Всё равно кракозябры
Автор: akaGM
Дата сообщения: 03.06.2012 22:55
HelioSS
ну пиши русский текст в 866-ой кодировке...
Автор: HelioSS
Дата сообщения: 04.06.2012 17:06
akaGM

Цитата:
ну пиши русский текст в 866-ой кодировке...


Вот для этого и создан форум!
Типа разобраться то хочется.
Автор: akaGM
Дата сообщения: 04.06.2012 17:20

Код: #include <stdio.h>
#include <windows.h>
#include <locale.h>

void main() {
setlocale(LC_ALL, ".1251");
printf("\nя плохо гаварю па руски...\n");
printf("\nХелло ворлд!\n");
printf("\nп Ї<RеR _ ў ао Ї  агбЄЁ...\n");
printf("\n_<<R ўRа<¤!\n");
getch();
}
Автор: HelioSS
Дата сообщения: 04.06.2012 17:27
akaGM
akaGM

Цитата:
ну вот у меня, например, такой код работает...

Не работает.
Может стоит учесть компилятор? У меня GCC. Может его что-то не устраивает?
Автор: akaGM
Дата сообщения: 04.06.2012 17:51
HelioSS
да, действительно, то что я написал на гнуси не работает...

Код: #include <stdio.h>
#include <windows.h>
#include <locale.h>

void main() {
SetConsoleOutputCP(1251);
setlocale(LC_ALL, ".1251");
printf("\nя плоха гаварю па руски...\n");
printf("\nХелло ворлд!\n");
printf("\nп Ї<Rе  _ ў ао Ї  агбЄЁ...\n");
printf("\n_<<R ўRа<¤!\n");
getch();
}
Автор: HelioSS
Дата сообщения: 04.06.2012 18:23
akaGM
Кроме положенных
Цитата:
printf("\nп Ї<Rе _ ў ао Ї агбЄЁ...\n");
printf("\n_<<R ўRа<¤!\n");

всё остальное как обычно кракозябрами
Автор: akaGM
Дата сообщения: 04.06.2012 18:42
HelioSS
ну можно, конечно, последнее попробовать:
SetConsoleCP(1251);

мои кракозябры -- это 866
а шрифт какой стоит? а винда? а винда ли? а камень какой? :)
Автор: HelioSS
Дата сообщения: 04.06.2012 18:57
akaGM

Цитата:
ну можно, конечно, последнее попробовать:
SetConsoleCP(1251);

Пробовал уже


Цитата:
мои кракозябры -- это 866

Это понятно.


Цитата:
а шрифт какой стоит?

Весь смысл сделать так, чтобы не надо было руками шрифт менять. Согласны со мной? Тем более, что рабочий пример я уже вроде как показал.

Цитата:
а винда?

WinXP SP3
Автор: akaGM
Дата сообщения: 04.06.2012 19:13
HelioSS

Цитата:
Весь смысл сделать так, чтобы не надо было руками шрифт менять. Согласны со мной?

согласен, но если ты используешь какой-нибудь растровый из виндов, то ничего у тебя не выйдет, не перекодируя в ОЕМ...
Автор: Abs62
Дата сообщения: 04.06.2012 19:27
HelioSS

Цитата:
Весь смысл сделать так, чтобы не надо было руками шрифт менять.

То есть, вопрос сводится к "как вывести строку в кодировке 1251 шрифтом, который 1251 не поддерживает"?
Автор: akaGM
Дата сообщения: 05.06.2012 16:48
HelioSS
кстати, можешь погеморройничать с консолью как с обычным окном, меняя в нём фонт на лету через соотвествующие консольные АПИ-функции...
Автор: HelioSS
Дата сообщения: 05.06.2012 21:09
Abs62

Цитата:
То есть, вопрос сводится к "как вывести строку в кодировке 1251 шрифтом, который 1251 не поддерживает"?
akaGM

Цитата:
кстати, можешь погеморройничать с консолью как с обычным окном, меняя в нём фонт на лету через соотвествующие консольные АПИ-функции...


Ребята, ну вопрос, впринципе, просто в том, чтобы оптимизировать нормально работающий код

Страницы: 12345678910111213141516171819202122

Предыдущая тема: DELPHI. Счетчик ячеек со значенями, значений ячеек


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.