Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
KrekerOK
57 / 57 / 20
Регистрация: 04.07.2013
Сообщений: 524
Завершенные тесты: 1
1

Копирование .exe файлов путем копипаста в тектовый редактор

12.08.2014, 22:53. Просмотров 654. Ответов 12
Метки нет (Все метки)

Доброго в времени суток. Вчера от нечего делать попробывал сделать следующие действия:
1) на С# написал самое простое консольное приложение "Привет мир", на выходе получил .ехе файл
2) открыл этот файл через блокнот - получил набор иероглифов
3) в другом месте создал пустой файл с таким же именем и расширением, скопировал туда эти иероглифы
4) сохранил этот файл, в результате получил 2 идентичных файла
Когда я пытаюсь запустить скопированый файл, получаю ошибку:
Копирование .exe файлов путем копипаста в тектовый редактор

Может кто-то имеет соображения по этому поводу, было бы интересно узнать.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.08.2014, 22:53
Ответы с готовыми решениями:

Включение файлов (картинок) с абсолютным путем в распространяемый релиз
Помогите пожалуйста, создал элементарный проект в VS 2017 WPF. В проекте вид...

Копирование файлов из списка файлов
Здравствуйте, уважаемые форумчане. Помогите решить проблему: ищу файлы...

Копирование exe файла и его перенос
Вот создал программу, сделал , чтобы запускало при запуске Windows , только вот...

Редактор CSV файлов
Хочу в целях работы и обучения написать редактор CSV файлов, в моем случаем CSV...

Hex редактор *.bin файлов
Добрый день ! Нужно сделать свой редактор bin файлов . Подскажите: Как...

12
Убежденный
Ушел с форума
Эксперт С++
16128 / 7275 / 1181
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
12.08.2014, 22:56 2
Цитата Сообщение от KrekerOK Посмотреть сообщение
4) сохранил этот файл, в результате получил 2 идентичных файла
Вряд ли они идентичны. Скорее всего, только по размеру.
Блокнот пытается сохранять данные как текст, если подсунуть ему
двоичные данные, то что получится на выходе - неизвестно.
0
KrekerOK
57 / 57 / 20
Регистрация: 04.07.2013
Сообщений: 524
Завершенные тесты: 1
12.08.2014, 23:03  [ТС] 3
Ах да, забыл сказать...я тоже так сначала подумал, и для ради этого даже специально программу написал: она побайтно читает оригинальный .ехе, и также побайтно пишет всё это дело в новый....ошибка та же.
0
Убежденный
Ушел с форума
Эксперт С++
16128 / 7275 / 1181
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
12.08.2014, 23:15 4
Такого не может быть. Просто потому, что при обычном копировании
из одной папки в другую exe тоже перестал бы работать.

Добавлено через 45 секунд
Попробуйте после "операции" сравнить содержимое какой-нибудь программой.
Например, в "Total Commander" есть такая функция.
0
KrekerOK
57 / 57 / 20
Регистрация: 04.07.2013
Сообщений: 524
Завершенные тесты: 1
12.08.2014, 23:39  [ТС] 5
Спасибо за ответ, завтра попробую сравнить - отпишусь.
0
Dr_Quake
Заблокирован
12.08.2014, 23:51 6
KrekerOK, значит криво написал. К.О. Показывай код.
0
KrekerOK
57 / 57 / 20
Регистрация: 04.07.2013
Сообщений: 524
Завершенные тесты: 1
13.08.2014, 10:50  [ТС] 7
Может и неправильно, т. к. писал на быструю руку:
C#
1
2
3
4
5
6
7
8
9
10
11
12
  private void button1_Click(object sender, EventArgs e)
        {
            BinaryReader br = new BinaryReader(File.Open(@"D:\Some_program.exe", FileMode.Open));
            List<char> list = new List<char>();
            for (int i = 0; i < 8704; i++)
                list.Add(br.ReadChar());
            BinaryWriter bw = new BinaryWriter(File.Create(@"C:\Some_program.exe"));
            for(int i =0;i<list.Count;i++)
            {
                bw.Write(list[i]);
            }
        }
8704 - константа, размер файла в байтах
0
Dr_Quake
Заблокирован
13.08.2014, 11:13 8
ReadChar/Write, и этим всё сказано. Так ещё и типы то разные в зависимости от локали вдобавок к char io... Read/Write Byte в твоём случае, а в общем Buffer.
0
KrekerOK
57 / 57 / 20
Регистрация: 04.07.2013
Сообщений: 524
Завершенные тесты: 1
13.08.2014, 12:21  [ТС] 9
Если не сложно, можешь набросать кусок кода? Буду крайне благодарен.
0
Dr_Quake
Заблокирован
13.08.2014, 12:28 10
У меня даже студия с 2012 не стоит...
0
KrekerOK
57 / 57 / 20
Регистрация: 04.07.2013
Сообщений: 524
Завершенные тесты: 1
13.08.2014, 12:48  [ТС] 11
А если не в студии, или даже не в шарпе, если есть такая возможность - буду рад. А вообще и на том спасибо, теперь для меня это уже не "тёмная магия", а мой явный затуп.
0
Learx
1046 / 853 / 194
Регистрация: 31.03.2010
Сообщений: 2,490
13.08.2014, 13:31 12
KrekerOK,
C#
1
File.Copy(@"D:\Some_program.exe",@"C:\Some_program.exe");
Добавлено через 20 минут
C#
1
2
3
4
5
6
7
8
9
10
11
12
FileStream fs1 = File.OpenRead(@"D:\Some_program.exe");
FileStream fs2 = new FileStream(@"C:\Some_program.exe", FileMode.Create);
do
{
     byte b = new byte[1024];
     int i = fs1.Read(b, 0, b.Length);
     if(i<1) break;
     fs2.Write(b, 0, i);
} while(true);
fs2.Flush();
fs1.Close();
fs2.Close();
0
KrekerOK
57 / 57 / 20
Регистрация: 04.07.2013
Сообщений: 524
Завершенные тесты: 1
13.08.2014, 15:17  [ТС] 13
Спасибо за помощь!
0
13.08.2014, 15:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.08.2014, 15:17

Запись многострочного текста в тектовый файл
Я узнал как можно написать только 1 строку, а дальше не могу Мне надо чтоб...

Копирование файлов
Для решения задачи необходимо уметь: 1) Определить время создания/изменения...

Копирование файлов
Здравствуйте! На форме лежит textbox1 и combobox1 в textbox1 - отображается...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru