0
  #include <iostream>
#include <locale>
using namespace std;
int main(){
    setlocale(LC_ALL, "rus");
    char name[20];  
    printf("Введите ваше имя: \n");
    scanf("%20s", &name);
    printf("Привет %20s!\n", name);
    system("pause");
    return 0;
}

Вывод программы

j6wj1997
  • 441
  • 1
    Какой компилятор/ОС? – VladD Jul 12 '16 at 16:43
  • Visual Studio 2010. Windows 8. последний раз программировал в мае - работало. – j6wj1997 Jul 12 '16 at 16:43
  • Тогда это дубликат, вам сюда: http://ru.stackoverflow.com/q/459154/10105 – VladD Jul 12 '16 at 16:44
  • Теперь вылетает вот эта ошибка - http://prntscr.com/bs15pw http://prntscr.com/bs15xj – j6wj1997 Jul 12 '16 at 17:11
  • Ещё бы, вы используете wscanf с wstring. И я бы на его месте вылетал. Используйте wcin >>. – VladD Jul 12 '16 at 17:21
  • а что делать если мне нужно сишный код написать? – j6wj1997 Jul 12 '16 at 17:27
  • Используйте wchar_t[] и wscanf. Только ради бога, ограничьте количество вводимых символов, иначе получите расстрел памяти. // Впрочем, у вас в коде так и есть. (Но не уверен насчёт финального нуля, перепроверьте, не нужно ли заводить буфер на 1 символ больше.) – VladD Jul 12 '16 at 17:30
  • http://prntscr.com/bs1myf я уже не знаю как ввести русский символ, раньше при подключении локали просто работало – j6wj1997 Jul 12 '16 at 17:47
  • Проблему решил, спасибо. Решается так: SetConsoleCP(1251); SetConsoleOutputCP(1251); setlocale(0, "rus"); Правда не особо понял почему. – j6wj1997 Jul 12 '16 at 18:17
  • Странно. Перепроверил, у меня сработало: http://pastebin.com/ZFJikz0b, http://i.stack.imgur.com/orgJt.png. Но у меня Visual Studio 2015. Рецепты из ответа проверял на 2012 и 2013, всё работало. – VladD Jul 12 '16 at 19:30
  • Подождите, а если удалить из вашего кода setlocale? Оно явно всё портит, уводит из Unicode в cp1251. – VladD Jul 12 '16 at 19:32
  • если удалить то опять каракули – j6wj1997 Jul 12 '16 at 22:00
  • Вы пробовали именно такой код: http://pastebin.com/ZFJikz0b? Без добавлений/убавлений? Без setlocale? И файл сохранили как UTF-8? – VladD Jul 12 '16 at 22:22
  • да выводит квадратики – j6wj1997 Jul 12 '16 at 22:23

0 Answers0