У меня есть программа, которая в основном пишет символы, как этотC++ Чтение/запись символов больше, чем ~ 50000
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 и не могу понять, почему это не сработает ...
I «Даже не уверен, неправильно ли он пишет символ или читает его ... Когда я открываю текстовый файл, который он создает, все они нечитабельные символы для моего ПК ... Я действительно в недоумении за идеи. Кто-нибудь знает, что я здесь делаю неправильно?
Да, жаль, что это довольно большая программа, я не мог дать много контекста, не выходя из темы, но входные/выходные файлы вызывают в совершенно разные времена, поэтому я не думаю, что хочу FileStream. И я думаю, что ваша ссылка действительно объяснила это ... Хотя все, что я вижу, это значит, что я не могу делать то, что я пытался сделать :( –