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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2009, 22:31   #1
Cpluser
Форумчанин
 
Аватар для Cpluser
 
Регистрация: 16.02.2009
Сообщений: 555
По умолчанию string на руском

Код:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main()
{
	setlocale(LC_ALL, "Russian");
	string a[10];
	string w;
	cin>>w;	//ввожу слово на руском
	cout<<w<<endl; //а тут слово не выводит (в чем проблема?)
	ifstream k("1.txt");
	int i=0;
	while(!k.eof())
	{
		k>>a[i];
		cout<<a[i]<<endl;
		i++;
	}
	for(int j=0; j<i; j++)
		if(a[j]==w) 
			cout<<"HHHH"<<endl;
	system("pause");
}
Cpluser вне форума Ответить с цитированием
Старый 08.10.2009, 00:08   #2
Cpluser
Форумчанин
 
Аватар для Cpluser
 
Регистрация: 16.02.2009
Сообщений: 555
По умолчанию

В чем здесь проблема может быть???
Cpluser вне форума Ответить с цитированием
Старый 08.10.2009, 00:19   #3
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Почитайте по ссылке, там как раз подобный вопрос рассматривается)
http://www.rsdn.ru/forum/cpp/3176606.1.aspx
netrino вне форума Ответить с цитированием
Старый 08.10.2009, 00:37   #4
Cpluser
Форумчанин
 
Аватар для Cpluser
 
Регистрация: 16.02.2009
Сообщений: 555
По умолчанию

Спасибо!А по проще нету?!
Cpluser вне форума Ответить с цитированием
Старый 08.10.2009, 00:54   #5
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Ну а там разве сложно?)
Код:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

std::string to1251(std::string const & cp866)
{
    std::string ret;
    ret.reserve(cp866.length());

    for (std::size_t i = 0, e = cp866.length(); i < e; ++i)
    {
        wchar_t wide = std::use_facet<std::ctype<wchar_t> >(std::locale(".866")).widen(cp866[i]);
        ret.push_back(std::use_facet<std::ctype<wchar_t> >(std::locale(".1251")).narrow(wide, '?'));
    }

    return ret;
}

int main()
{
	setlocale(LC_ALL, "Russian");
	string w;
	cin>>w;	//ввожу слово на руском
	cout<<to1251(w)<<endl; //а тут слово не выводит (в чем проблема?)
	system("pause");
}
Или
Код:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main()
{
	setlocale(LC_ALL, "Russian");
	wstring ww;
	wcin.imbue(locale(".866"));
	
	wcin >> ww;
	wcout << ww << endl;

	system("pause");
}
netrino вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
String t@t@rin Помощь студентам 3 09.11.2009 20:46
string dreamish Общие вопросы C/C++ 18 04.09.2009 17:18
string и String ds.Dante Общие вопросы .NET 1 24.08.2009 13:26
String [] alexov Общие вопросы C/C++ 4 07.04.2009 20:43
string medik Помощь студентам 12 29.10.2007 17:33