Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2010, 14:42   #1
askerpro
Новичок
Джуниор
 
Регистрация: 17.09.2009
Сообщений: 45
По умолчанию заполнение массива русскими символами и вывод их на экран

Visual studio
у меня какие-то крякозябли получаются
друг сказал надо в юникод форматировать, искал функции в нете, но как-то там все не очень работает, то библиотек нет, то жалуется на ошибки.

Последний раз редактировалось askerpro; 09.11.2010 в 18:56.
askerpro вне форума Ответить с цитированием
Старый 09.11.2010, 15:19   #2
Блуд
Пользователь
 
Регистрация: 23.05.2010
Сообщений: 53
По умолчанию

Цитата:
Сообщение от askerpro Посмотреть сообщение
у меня какие-то крякозябли получаются
друг сказал надо в юникод форматировать, искал функции в нете, но как-то там все не очень работает, то библиотек нет, то жалуется на ошибки.
кто то писал уже
Код:
#include <locale.h>
...
setlocale(LC_ALL,"russian");
(если VC++ удали .h)
проверил на C++Builder не пашет

Последний раз редактировалось Блуд; 09.11.2010 в 15:26.
Блуд вне форума Ответить с цитированием
Старый 09.11.2010, 18:24   #3
[CODER]
Форумчанин
 
Аватар для [CODER]
 
Регистрация: 02.02.2010
Сообщений: 305
По умолчанию

Код:
#include<iostream>
#include<windows.h>
using namespace std;
void out(char str[99]);
void main(){
  char str[50], ru[50];
	out("Введите строку на русском: ");
	gets(str);
	puts(str);
 system("pause");
}
void out(char str[99]) {
  CharToOem(str, str);
  cout<<str;
}
А вообще можно принять массив из крякозябл и дальше посмотрев погрешность по таблице аски кодов добавить или отнять значение в десятичной сс и преобразовать обратно в чар
Skype: CODERua
[CODER] вне форума Ответить с цитированием
Старый 09.11.2010, 18:50   #4
askerpro
Новичок
Джуниор
 
Регистрация: 17.09.2009
Сообщений: 45
По умолчанию

error C2664: 'CharToOemW' : cannot convert parameter 1 from 'char []' to 'LPCWSTR'
error C2001: newline in constant ( с переди приписал #include "stdafx.h")
не фурычит
askerpro вне форума Ответить с цитированием
Старый 09.11.2010, 19:01   #5
[CODER]
Форумчанин
 
Аватар для [CODER]
 
Регистрация: 02.02.2010
Сообщений: 305
По умолчанию

У меня это не работает, но попробуй...
Код:
#include<iostream>
#include<windows.h>
using namespace std;
void main()
{

	setlocale(LC_CTYPE,"Russian") ;
	char str[50];
	cout<<"Введите строку на русском: ";
	gets(str);
	OemToCharA(str,str);
	puts(str);

}
Skype: CODERua
[CODER] вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнение динамического массива данными из файла и последующий вывод на экран vitalyisaev2 Общие вопросы C/C++ 5 08.09.2010 12:51
QReport QRExpr поля русскими символами ArtInt БД в Delphi 1 24.02.2010 16:41
OnKey с русскими символами Aiden Microsoft Office Excel 2 01.02.2010 17:30
Работа с русскими символами... Sota Помощь студентам 5 31.05.2008 18:44