Из C++ в C#. Замена числа в файле

Узнай цену своей работы

Формулировка задачи:

Уважаемые, есть ли возможность портировать этот код из С++ на C#? Код предназначен заменять в .dll файле число 1134 на введенное. Заранее спасибо за советы.
Листинг программы
  1. #include <fstream>
  2. #include <iostream>
  3. #include <regex>
  4. #include <string>
  5. int main ()
  6. {
  7. std::fstream fs("C:\client.dll", std::ios::in | std::ios::out | std::ios::binary);
  8. if (!fs)
  9. return 1;
  10. std::cout << "Input your camera distance: ";
  11. std::string to;
  12. std::cin >> to;
  13. std::string text((std::istreambuf_iterator<char>(fs)), std::istreambuf_iterator<char>());
  14. fs.clear();
  15. fs.seekp(0, std::ios::beg);
  16. std::regex_replace(std::ostreambuf_iterator<char>(fs), text.begin(), text.end(), std::regex("1134"), to);
  17. }
Сам файл для наглядности http://rgho.st/6Vz9kxlRf .

Решение задачи: «Из C++ в C#. Замена числа в файле»

textual
Листинг программы
  1. using System;
  2. using System.IO;
  3. using System.Text;
  4.  
  5. class Program
  6. {
  7.     static void Main()
  8.     {
  9.         const string PATH = @"C:\client.dll";
  10.         const string find = "1134";
  11.  
  12.         Console.Write("Input your camera distance: ");
  13.         string replaceBy = Console.ReadLine();
  14.  
  15.         Encoding encoding = Encoding.Default;
  16.  
  17.         string text;
  18.         try { text = File.ReadAllText(PATH, encoding); }
  19.         catch (FileNotFoundException) { return; }
  20.  
  21.         text = text.Replace(find, replaceBy);
  22.         using (var fstream = new FileStream(PATH, FileMode.Open, FileAccess.Write))
  23.         {
  24.             byte[] buf = encoding.GetBytes(text);
  25.             fstream.Write(buf, 0, buf.Length);
  26.         }
  27.     }
  28. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы