FILE *f;
String ^ quection;
f = _wfopen(fileName, L"w");
quection = this->textBox3->Text;
pin_ptr<const wchar_t> vopros = PtrToStringChars(quection);
fwprintf(f,L"%s\n",vopros);
Вывод кириллицы в файлы!
Код:
Проверяю... Ввожу в textBox3 значение test123. Все работает, инфа в файл выводится. Но как только ввожу что-то по-русски, например "Проверка", всё также работает, но когда заглядываю в файл, получаю только "????????". В чём дело? Подскажите пожалуйста, как организовать вывод в файлы русских символов?
Может есть какой-то другой способ, может у меня ошибки в коде, а может надо просто что-то добавить!
Заранее очень благодарен!!!
Код:
[SIZE=2][COLOR=#0000ff][FONT=Courier New]#using[/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2][COLOR=#800000]<mscorlib.dll>[/COLOR][/SIZE][/FONT]
[SIZE=2][COLOR=#0000ff][FONT=Courier New]using [/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]namespace[/COLOR][/SIZE][SIZE=2] System;[/SIZE][/FONT]
[SIZE=2][COLOR=#0000ff][FONT=Courier New]using [/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]namespace[/COLOR][/SIZE][SIZE=2] System::IO;[/SIZE][/FONT]
[SIZE=2][COLOR=#0000ff][FONT=Courier New]using [/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]namespace[/COLOR][/SIZE][SIZE=2] System::Text;[/SIZE][/FONT]
[SIZE=2][COLOR=#0000ff][FONT=Courier New]typedef [/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]wchar_t[/COLOR][/SIZE][SIZE=2]* LPWSTR;[/SIZE][/FONT]
[SIZE=2][COLOR=#0000ff][FONT=Courier New]int[/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2] main([/SIZE][SIZE=2][COLOR=#0000ff]array[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New]<System::String ^> ^args)[/FONT][/SIZE]
[SIZE=2][FONT=Courier New]{[/FONT][/SIZE]
[SIZE=2][FONT=Courier New] String^ cyrText = [/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#800000]"Привет, мир!"[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New];[/FONT][/SIZE]
[SIZE=2][FONT=Courier New] StreamWriter^ sw = [/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]gcnew[/COLOR][/SIZE][SIZE=2] StreamWriter([/SIZE][SIZE=2][COLOR=#800000]"Output.txt"[/COLOR][/SIZE][SIZE=2], [/SIZE][SIZE=2][COLOR=#0000ff]false[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New], Encoding::Unicode);[/FONT][/SIZE]
[SIZE=2][FONT=Courier New] sw->WriteLine(cyrText);[/FONT][/SIZE]
[SIZE=2][FONT=Courier New] sw->Close();[/FONT][/SIZE]
[SIZE=2][FONT=Courier New]}[/FONT][/SIZE]
[SIZE=2][COLOR=#0000ff][FONT=Courier New]using [/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]namespace[/COLOR][/SIZE][SIZE=2] System;[/SIZE][/FONT]
[SIZE=2][COLOR=#0000ff][FONT=Courier New]using [/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]namespace[/COLOR][/SIZE][SIZE=2] System::IO;[/SIZE][/FONT]
[SIZE=2][COLOR=#0000ff][FONT=Courier New]using [/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]namespace[/COLOR][/SIZE][SIZE=2] System::Text;[/SIZE][/FONT]
[SIZE=2][COLOR=#0000ff][FONT=Courier New]typedef [/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]wchar_t[/COLOR][/SIZE][SIZE=2]* LPWSTR;[/SIZE][/FONT]
[SIZE=2][COLOR=#0000ff][FONT=Courier New]int[/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2] main([/SIZE][SIZE=2][COLOR=#0000ff]array[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New]<System::String ^> ^args)[/FONT][/SIZE]
[SIZE=2][FONT=Courier New]{[/FONT][/SIZE]
[SIZE=2][FONT=Courier New] String^ cyrText = [/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#800000]"Привет, мир!"[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New];[/FONT][/SIZE]
[SIZE=2][FONT=Courier New] StreamWriter^ sw = [/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]gcnew[/COLOR][/SIZE][SIZE=2] StreamWriter([/SIZE][SIZE=2][COLOR=#800000]"Output.txt"[/COLOR][/SIZE][SIZE=2], [/SIZE][SIZE=2][COLOR=#0000ff]false[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New], Encoding::Unicode);[/FONT][/SIZE]
[SIZE=2][FONT=Courier New] sw->WriteLine(cyrText);[/FONT][/SIZE]
[SIZE=2][FONT=Courier New] sw->Close();[/FONT][/SIZE]
[SIZE=2][FONT=Courier New]}[/FONT][/SIZE]
Заранее благодарю!
Код:
[SIZE=2][COLOR=#0000ff][FONT=Courier New]#include[/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2][COLOR=#800000]"stdafx.h"[/COLOR][/SIZE][/FONT]
[SIZE=2][COLOR=#0000ff][FONT=Courier New]#using[/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2][COLOR=#800000]<mscorlib.dll>[/COLOR][/SIZE][/FONT]
[SIZE=2][COLOR=#0000ff][FONT=Courier New]using [/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]namespace [/COLOR][/SIZE][SIZE=2]System;[/SIZE][/FONT]
[SIZE=2][COLOR=#0000ff][FONT=Courier New]using [/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]namespace [/COLOR][/SIZE][SIZE=2]System::IO;[/SIZE][/FONT]
[SIZE=2][COLOR=#0000ff][FONT=Courier New]using [/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]namespace [/COLOR][/SIZE][SIZE=2]System::Text;[/SIZE][/FONT]
[SIZE=2][COLOR=#0000ff][FONT=Courier New]int [/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2]main([/SIZE][SIZE=2][COLOR=#0000ff]array[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New]<System::String ^> ^args)[/FONT][/SIZE]
[SIZE=2][FONT=Courier New]{[/FONT][/SIZE]
[SIZE=2][FONT=Courier New] StreamReader^ textReader = [/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]gcnew [/COLOR][/SIZE][SIZE=2]StreamReader([/SIZE][SIZE=2][COLOR=#800000]"text.txt"[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New], Encoding::Unicode);[/FONT][/SIZE]
[SIZE=2][FONT=Courier New] String^ line = String::Empty;[/FONT][/SIZE]
[FONT=Courier New][SIZE=2][COLOR=#0000ff] while[/COLOR][/SIZE][SIZE=2]((line = textReader->ReadLine()) != [/SIZE][SIZE=2][COLOR=#0000ff]nullptr[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New])[/FONT][/SIZE]
[SIZE=2][FONT=Courier New] {[/FONT][/SIZE]
[SIZE=2][FONT=Courier New] cli::[/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]array[/COLOR][/SIZE][SIZE=2]<String ^>^ splittedString = line->Split([/SIZE][SIZE=2][COLOR=#0000ff]gcnew[/COLOR][/SIZE][SIZE=2] cli::[/SIZE][SIZE=2][COLOR=#0000ff]array[/COLOR][/SIZE][SIZE=2]<[/SIZE][SIZE=2][COLOR=#0000ff]__wchar_t[/COLOR][/SIZE][SIZE=2], 1>{[/SIZE][SIZE=2][COLOR=#800000]'|'[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New]});[/FONT][/SIZE]
[SIZE=2][FONT=Courier New] }[/FONT][/SIZE]
[SIZE=2][FONT=Courier New] textReader->Close();[/FONT][/SIZE]
[SIZE=2][FONT=Courier New]}[/FONT][/SIZE]
[SIZE=2][COLOR=#0000ff][FONT=Courier New]#using[/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2][COLOR=#800000]<mscorlib.dll>[/COLOR][/SIZE][/FONT]
[SIZE=2][COLOR=#0000ff][FONT=Courier New]using [/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]namespace [/COLOR][/SIZE][SIZE=2]System;[/SIZE][/FONT]
[SIZE=2][COLOR=#0000ff][FONT=Courier New]using [/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]namespace [/COLOR][/SIZE][SIZE=2]System::IO;[/SIZE][/FONT]
[SIZE=2][COLOR=#0000ff][FONT=Courier New]using [/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]namespace [/COLOR][/SIZE][SIZE=2]System::Text;[/SIZE][/FONT]
[SIZE=2][COLOR=#0000ff][FONT=Courier New]int [/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2]main([/SIZE][SIZE=2][COLOR=#0000ff]array[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New]<System::String ^> ^args)[/FONT][/SIZE]
[SIZE=2][FONT=Courier New]{[/FONT][/SIZE]
[SIZE=2][FONT=Courier New] StreamReader^ textReader = [/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]gcnew [/COLOR][/SIZE][SIZE=2]StreamReader([/SIZE][SIZE=2][COLOR=#800000]"text.txt"[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New], Encoding::Unicode);[/FONT][/SIZE]
[SIZE=2][FONT=Courier New] String^ line = String::Empty;[/FONT][/SIZE]
[FONT=Courier New][SIZE=2][COLOR=#0000ff] while[/COLOR][/SIZE][SIZE=2]((line = textReader->ReadLine()) != [/SIZE][SIZE=2][COLOR=#0000ff]nullptr[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New])[/FONT][/SIZE]
[SIZE=2][FONT=Courier New] {[/FONT][/SIZE]
[SIZE=2][FONT=Courier New] cli::[/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]array[/COLOR][/SIZE][SIZE=2]<String ^>^ splittedString = line->Split([/SIZE][SIZE=2][COLOR=#0000ff]gcnew[/COLOR][/SIZE][SIZE=2] cli::[/SIZE][SIZE=2][COLOR=#0000ff]array[/COLOR][/SIZE][SIZE=2]<[/SIZE][SIZE=2][COLOR=#0000ff]__wchar_t[/COLOR][/SIZE][SIZE=2], 1>{[/SIZE][SIZE=2][COLOR=#800000]'|'[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New]});[/FONT][/SIZE]
[SIZE=2][FONT=Courier New] }[/FONT][/SIZE]
[SIZE=2][FONT=Courier New] textReader->Close();[/FONT][/SIZE]
[SIZE=2][FONT=Courier New]}[/FONT][/SIZE]
в цикле в массиве splittedString будет находится массив, полученный из строки, разделённой по символам между твоим знаком |