день добрый!
столкнулся при написании своей простенькой проги, на с++(консоль), с проблемой:
в проге спрашивается имя тестируемого и сохраняется в файл, раньше файл имел жесткое имя, сейчас есть необходимость  сделать имя файла = имени при вводе. Так вот при вводе на англ. проблем нет , а при вводе на русском  вместо них сохраняются кракозябры.
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include "Windows.h"
using namespace std;
void rus( char* _str )
{   
   int size;
   size=strlen(_str)+1;
   char *str=new char[size];
   CharToOemA( _str,str );
   cout<<str;
   delete []str;
}
int main ()
{
SetConsoleOutputCP(866);///////////////////////////////////////////////
	HANDLE hConsoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);//
    CONSOLE_SCREEN_BUFFER_INFO *ConsoleInfo = new CONSOLE_SCREEN_BUFFER_INFO();//
    GetConsoleScreenBufferInfo(hConsoleHandle, ConsoleInfo);//
    WORD OriginalColors = ConsoleInfo->wAttributes;//
    const int lineSize = 255;
    const int lineSize_small = 2;
	int pr=0,nonpr=0,tit,otv;
	char fio[lineSize],name[lineSize],lineotv[lineSize];
    int p=0,ball=0;
	char otvch;
	char stek[lineSize];
	ifstream F;
	ofstream G;
  F.open("D:\\abc4.txt");
  F.getline (name,lineSize);
SetConsoleTextAttribute(hConsoleHandle,FOREGROUND_GREEN);
rus(name);
cout<<"\n";
SetConsoleTextAttribute(hConsoleHandle, OriginalColors);
    rus("Введите ваше Имя и Фамилию: ");
	cin.getline(fio,lineSize);
	////////////////////////////
	char name_vrem[lineSize];
	char name_fale[lineSize+8];
for (p=0;(fio[p]!=0)&&(p<lineSize);p++)
{
name_vrem[p]=fio[p];
	if (name_vrem[p]=' ')
	{
name_vrem[p]='_';
	}
}
name_vrem[p+5]=0;
name_vrem[p+4]='l';
name_vrem[p+3]='m';
name_vrem[p+2]='t';
name_vrem[p+1]='h';
name_vrem[p]='.';
name_fale[0]='D';
name_fale[1]=':';
name_fale[2]='\\';
for (p=0;name_vrem[p]!=0;p++)
{
	name_fale[p+3]=name_vrem[p];
}
name_fale[p+3]=0;
for (p=0;name_fale[p]!=0;p++)
{
if (name_fale[p]>127)
{
	name_fale[p]=name_fale[p]-20;
}
}
 //////////////////////////// 
	cout<<name_fale;
	G.open(name_fale);///////      нужно как-то изменять русские буквы
    OemToCharA(fio,fio);
    G<<fio<<"<br>";
  SetConsoleTextAttribute(hConsoleHandle, OriginalColors);
  cout<<"PRESS ANY KEY TO END";
  F.close();
  G.close();
  cin>>p;
}
понимаю что код кривой , но мне пока так чтоб точно понять что где потом буду улучшать.
помогите подсказкой как быть с русскими буквами!