Я пытаюсь напечатать текст «Ääkkösiä ruutuun».утешить с C ++.У меня Windows 7 и я использую редактор Code :: Blocks.В поисках предмета я обнаружил, что, возможно, такие строки помогут
_setmode(_fileno(stdout), _O_U16TEXT);
wstring s{L"Ääkkösiä ruutuun."};
wcout<<s<<endl;
. Но когда я пытаюсь скомпилировать его, я получаю ошибку: _fileno не было объявлено в этой области.
У меня есть все это, включая:
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <map>
#include <set>
#include <stdexcept>
#include <cmath>
#include <sstream>
#include <fstream>
#include <codecvt>
#include <locale>
#include <fcntl.h>
#include <io.h>
#include <stdio.h>
#include <cstdio>
#include <ostream>
что мне не хватает?
Кроме того, еще одна вещь, которую я попробовал, была локаль, но затем locale :: empty не была найдена!Почему в моем с ++ ничего нет?
РЕДАКТИРОВАТЬ Вот изображение того, что сейчас делает моя программа.
Она печатает только первую букву (А).Что происходит с остальными?
Хорошо, похоже, setmode устанавливает его так, что печатается только одна буква.(Даже при попытке напечатать обычный текст несколькими командами просто получается одна буква.) Без этого скандинавские буквы печатаются неправильно, подумал.Они выглядят так: