|  | 
|  18.07.2013 | Post #1 | 
| Знающий Регистрация: 12.07.2013 
					Сообщений: 152
				 Сказал(а) спасибо: 0 
		
			
				Получено Спасибо 0 раз(а) в 0 постах
			
		
	 
Вес репутации: 16
  
Репутация: 200
 
Живет на форуме: 
4 д. 20 ч 2 мин 
 |  C++ 
			
			Привет пасаны и дамы! Вот решил я значить заняться самообразованием летом и попытаться познать необъятное, а именно язык программирования СиПиПи. Скачал значить учебник, среду разработки, все дела, но во время запила моей первой программы, а именно "Хеллоу, ворлд" я вдруг осознал, что у меня не получается написать это кириллицей. Ну то есть уаще. На выходе я получаю абракадабры в консоли. Причем от смены среды проблема не исчезает. А теперь под всеобщее улюлюканье хочу получить совета по этому вопросу от знающих людей. А еще если кто знает толковые учебники по C++ для кипятильников то заделитесь) Спасибо. | 
|   |   | 
|  18.07.2013 | Post #2 | 
| Частый гость Регистрация: 10.07.2013 
					Сообщений: 73
				 Сказал(а) спасибо: 0 
		
			
				Получено Спасибо 0 раз(а) в 0 постах
			
		
	 
Вес репутации: 14
  
Репутация: 126
 
Живет на форуме: 
1 нед 3 д 20 ч 
 |   
			
			Т.А Павловская - C/C++ Серия "Программирование на языке высокого уровня" Стоит в районе 400 рублей в хорошем, твердом переплете Написана неплохо, доступно (насколько это можно сказать про С++) Насчет абракадабры компилятор, среда разработки, какие, чем пользовался? Если писать на латинице 'Hello World!'' - тоже самое? Последний раз редактировалось Wolverine; 18.07.2013 в 23:43. | 
|   |   | 
|  18.07.2013 | Post #4 | 
| Частый гость Регистрация: 10.07.2013 
					Сообщений: 73
				 Сказал(а) спасибо: 0 
		
			
				Получено Спасибо 0 раз(а) в 0 постах
			
		
	 
Вес репутации: 14
  
Репутация: 126
 
Живет на форуме: 
1 нед 3 д 20 ч 
 |   
			
			Intaco, Если так ввести: #include <windows.h> #include <clocale> #include <stdio.h> void main(){ setlocale(LC_CTYPE,"Russian"); printf("Пробуем сделать вывод на кириллице - ПРИВЕТ МИР"); Sleep(10000); Если на этой среде не прокатит этот вариант, можно попробовать так: #include <windows.h> char chbuff[] = "Здравствуй мир"; CharToOem(chbuff, chbuff); printf("%s", chbuff); Третий вариант: #include >iostream> using namespace std; int main() { setlocale(LC_ALL, "Russian"); cout << "Привет мир" << endl; return 0; } Стандартный вывод ''Hello World'', пример которого везде приводится, не предназначен для кириллицы Последний раз редактировалось Wolverine; 19.07.2013 в 00:11. | 
|   |   | 
|  19.07.2013 | Post #5 | 
| Знающий Регистрация: 12.07.2013 
					Сообщений: 152
				 Сказал(а) спасибо: 0 
		
			
				Получено Спасибо 0 раз(а) в 0 постах
			
		
	 
Вес репутации: 16
  
Репутация: 200
 
Живет на форуме: 
4 д. 20 ч 2 мин 
 |   Со вторым вариантом вообще жуть. 3-й компилируется, но окно сразу закрывается после запуска. Последний раз редактировалось Intaco; 19.07.2013 в 00:17. | 
|   |   | 
|  19.07.2013 | Post #6 | 
| Частый гость Регистрация: 10.07.2013 
					Сообщений: 73
				 Сказал(а) спасибо: 0 
		
			
				Получено Спасибо 0 раз(а) в 0 постах
			
		
	 
Вес репутации: 14
  
Репутация: 126
 
Живет на форуме: 
1 нед 3 д 20 ч 
 |   
			
			Intaco, Вообще удобство CharToOem (второй вариант) в том, что он работает на любой машине. Тут проблема может быть в версии компилятора разве что А третий вариант? Сейчас разберемся Последний раз редактировалось Wolverine; 19.07.2013 в 00:21. | 
|   |   | 
|  19.07.2013 | Post #8 | 
| лалка Регистрация: 07.07.2013 Возраст: 31 
					Сообщений: 115
				 Сказал(а) спасибо: 0 
		
			
				Получено Спасибо 0 раз(а) в 0 постах
			
		
	 
Вес репутации: 15
  
Репутация: 102
 
Живет на форуме: 
1 мес 1 нед 5 д 
 |   
			
			Я понимаю, что может быть, не совсем по теме, но не могли бы вы написать названия хороших книг по С и C++.
		 | 
|   |   | 
|  19.07.2013 | Post #10 | 
| Знающий Регистрация: 12.07.2013 
					Сообщений: 152
				 Сказал(а) спасибо: 0 
		
			
				Получено Спасибо 0 раз(а) в 0 постах
			
		
	 
Вес репутации: 16
  
Репутация: 200
 
Живет на форуме: 
4 д. 20 ч 2 мин 
 |   
			
			Андрей, ты, судя по всему, даже не прочитал тему. Добавлено через 29 секунд Cyborg, я пытался, но не вдуплил( А еще он мне сраль на рабочий стол какими-то файлами в сурьезных масштабах. | 
|   |   | 
|  19.07.2013 | Post #11 | 
| Частый гость Регистрация: 10.07.2013 
					Сообщений: 73
				 Сказал(а) спасибо: 0 
		
			
				Получено Спасибо 0 раз(а) в 0 постах
			
		
	 
Вес репутации: 14
  
Репутация: 126
 
Живет на форуме: 
1 нед 3 д 20 ч 
 |   
			
			Intaco, у тебя же Dev++, а не просто консоль Там вопрос в перекодировке (СР-88 и СР-1251) ВОТ решение вопроса с кириллицей для Dev++ С этим способом будет сразу осуществляться перекодировка русских символов под нужный формат Пробуй, отпишись потом Последний раз редактировалось Wolverine; 19.07.2013 в 00:39. | 
|   |   | 
|  19.07.2013 | Post #12 | 
| лалка Регистрация: 07.07.2013 Возраст: 31 
					Сообщений: 115
				 Сказал(а) спасибо: 0 
		
			
				Получено Спасибо 0 раз(а) в 0 постах
			
		
	 
Вес репутации: 15
  
Репутация: 102
 
Живет на форуме: 
1 мес 1 нед 5 д 
 |   
			
			Wolverine, Intaco, я видел, просто хотелось бы узнать еще какие-нибудь, чтобы была возможность выбрать.
		 | 
|   |   | 
|  19.07.2013 | Post #13 | 
| w8me Регистрация: 13.07.2013 
					Сообщений: 315
				 Сказал(а) спасибо: 0 
		
			
				Получено Спасибо 0 раз(а) в 0 постах
			
		
	 
Вес репутации: 17
  
Репутация: 176
 
Живет на форуме: 
1 мес 2 нед 1 д 
 |   
			
			Intaco, хороший билдер, ставь Embarcadero C++ builder (по сути любую версию, можешь XE, 2010), там не будет проблем с кодировкой, по крайней мере в VCL.
		 | 
|   |   | 
|  19.07.2013 | Post #14 | 
| Гость Регистрация: 08.07.2013 
					Сообщений: 30
				 Сказал(а) спасибо: 0 
		
			
				Получено Спасибо 0 раз(а) в 0 постах
			
		
	 
Вес репутации: 13
  
Репутация: 33
 
Живет на форуме: 
1 д. 9 ч 32 мин 
 |   
			
			Такс, по порядку. Код: setlocale(LC_ALL, ""); Если нужно вводить русские символы - система чуть другая и ненамного сложнее. Код: // Объявить переменную, в которой начальное значение кодировки консоли int cp=GetConsoleCP(); // Далее в нужных частях программы (перед вводом) меняем кодировку и потом возвращаем родную cout << "Введите символ: "; SetConsoleCP(1251); cin >> symbol; SetConsoleCP(cp); Ещё далее - сиплюсы это больше работа с потоками, тобишь с текстом лучше работать через cin и cout, если не требуется какое-то особое форматирование. Если серьёзно нужно изучать - однозначно советую Страуструпа, основатель как-никак. Последний раз редактировалось Jak; 19.07.2013 в 01:36. | 
|   |   | 
|  19.07.2013 | Post #15 | 
| Знающий Регистрация: 12.07.2013 
					Сообщений: 152
				 Сказал(а) спасибо: 0 
		
			
				Получено Спасибо 0 раз(а) в 0 постах
			
		
	 
Вес репутации: 16
  
Репутация: 200
 
Живет на форуме: 
4 д. 20 ч 2 мин 
 |   
			
			Собственно мне помог вышеуказанный способ вульва, но все равно спасибо) И еще хотелось бы задать последний вопрос днища, надеюсь я еще не израсходовал ваше терпение. В моем учебника предлагается использовать функцию ввода-вывода <stdio.h> заместо <iostream> В чем между ними разница? | 
|   |   | 
|  19.07.2013 | Post #16 | 
| Частый гость Регистрация: 10.07.2013 
					Сообщений: 73
				 Сказал(а) спасибо: 0 
		
			
				Получено Спасибо 0 раз(а) в 0 постах
			
		
	 
Вес репутации: 14
  
Репутация: 126
 
Живет на форуме: 
1 нед 3 д 20 ч 
 |   
			
			Intaco, stdio.h пришел из С.  Iostream это уже заголовок из С++, работа с потоками Насчет того, что лучше - мнения расходятся, т.к это все же зависит от ситуации. stdio, старый вариант, считается более простым. Потому, что в потоках С++ разбираться уже сложнее. Так что я бы советовал пока использовать stdio, как и сказано в учебнике. А в тонкостях и разнице между заголовками разберешься по ходу дела, с опытом //Jak, зато ты подтвердаешь мои слова) интако будет спокойнее). Вообще у гениев же мысли сходятся. Но и у дураков тоже( Последний раз редактировалось Wolverine; 19.07.2013 в 13:20. | 
|   |   | 
|  19.07.2013 | Post #17 | |
| Гость Регистрация: 08.07.2013 
					Сообщений: 30
				 Сказал(а) спасибо: 0 
		
			
				Получено Спасибо 0 раз(а) в 0 постах
			
		
	 
Вес репутации: 13
  
Репутация: 33
 
Живет на форуме: 
1 д. 9 ч 32 мин 
 |   Цитата: 
 <stdio.h> - СИшная приблуда, поэтому работать будет много где, а <iostream> - чистый С++, больше на ООП рассчитан. В небольших С/С++ программах, наверное, без разницы что использовать, но если конкретно С++ изучать - без иострима никуда :) P.S. Лично я всё своё пытался через потоки писать, там ещё и работа с файлами, например, через них идёт; как разобрался более-менее с базовым синтаксисом - вообще всё легко шло) P.P.S. Волверин опять первый :) | |
|   |   |