У меня есть программа, которая в основном пишет символы вроде этого
wchar_t c[5] = {static_cast<wchar_t>(x1), static_cast<wchar_t>(x2), static_cast<wchar_t>(x3), static_cast<wchar_t>(x4)};
fileWriter->Write(msclr::interop::marshal_as<String^>(c));
А потом их вводят обратно в программу, просто набрав
String^ fileContent = fileReader->ReadToEnd();
Моя проблема в том, что когда x1 / x2 / x3 / x4 имеют целочисленное значение некоторого большого числа (я не могу быть уверен, какое именно, но я думаю, что оно где-то рядом, когда оно превышает 50 000), оно затем читает символ значение 65533.
Я запутался со значениями кодировки StreamReader и StreamWriter, но сначала я установил для них System :: Text :: Encoding :: Unicode и не могу понять, почему это не сработает ...
Я даже не уверен, что он пишет символ неправильно или читает его ... Когда я открываю текстовый файл, который он создает, они все нечитаемые символы для моего ПК ... Я действительно в растерянности для идей. Кто-нибудь знает, что я здесь делаю не так?