Здравствуйте, Tuo_Bellas, Вы писали:
T_B>VC8, XP SP2
#include <iostream>
#include <fstream>
int main()
{
std::ofstream os("тест.txt"); // (*)
if (os)
{
os << "test";
}
std::ofstream osW(L"тест.txt"); // (**) Note unicode here
if (osW)
{
osW << "test";
}
return 0;
}
T_B>Вариант (*) создает файл с именем "òåñò.txt" (набор букв с диакритическими знаками, похоже на неправильный codepage).
T_B>Вариант (**) (который вообще, по идее, компилиться не должен) создает файл с правильным именем "тест.txt".
T_B>Как сделать, чтобы работал первый вариант (*)?
#include <iostream>
#include <fstream>
#include <clocale>
int main()
{
setlocale( LC_ALL, ".ACP" );
std::ofstream os("тест.txt"); // (*)
if (os)
{
os << "test";
}
return 0;
}
|