Соревнование:
Введите текст из одного файла и выведите его в другой. Решение должно быть полной, работающей функцией.
Примечание: это вопрос кодового троллинга . Пожалуйста, не воспринимайте вопрос и / или ответы всерьез. Больше информации здесь .
popularity-contest
code-trolling
Сообщество
источник
источник
Ответы:
С
Весь смысл наличия нескольких языков программирования в том, что вам нужно использовать правильный инструмент для работы.
В этом случае мы хотим скопировать байты из одного файла в другой.
В то время как мы могли бы использовать что-то причудливое, например bash или ruby, или воспользоваться мощью ASM, нам нужно что-то быстрое, хорошее с битами и быстрое.
Очевидный выбор - C.
Самый простой способ сделать это был бы так:
Это зло, потому что он будет читать мусор на таких вещах, как cygwin, полностью китайский для новичка, напугает его, когда он поймет, что это зов о помощи, и, очевидно, потому что C.
источник
#define VERY filename1
#define NOT filename2
#define _ 1
можете сделать(;_;)
цикл for, чтобы он выглядел как смайлик.#define LOL fclose
сделал мой день#define LOL fclose
, который никогда не используется, хотя мой шедевр.ш
Мне нравится простота этого.
Действительно работает правильно только если
File1.txt
содержит "File1.text" ...источник
File2.txt
, а не фактическое содержимоеFile1.txt
AutoHotKey
Сначала вы должны открыть файлы в блокноте или другом текстовом редакторе, в котором имена окон начинаются с имен файлов. Затем он копирует содержимое файла1 в буфер обмена (буквально, используя ctrl+c ) и вставляет его в файл file2, перезаписывая все, что в нем находится, и сохраняет.
Решает проблему, но очень неудобно и довольно бесполезно. Вероятно, проще было бы просто скопировать и вставить вручную.
источник
Как все знают, Perl очень хорош для манипулирования файлами. Этот код будет копировать содержимое одного файла в другой и будет делать это с дополнительной избыточностью для хорошей меры.
Чтобы быть в безопасности, сначала проверьте это на небольшом файле. Убедившись в его правильности, вы можете без проблем запустить его в производство для использования с очень большими файлами.
источник
C #
Чтобы достичь этого, вы должны сделать несколько вещей:
Вот код:
источник
В четыре простых шага:
lpr
команду для этого.источник
Джава
Многие люди считают полезным пытаться использовать регулярные выражения или оценивать строки, чтобы скопировать их из одного файла в другой, однако этот метод программирования небрежен. Во-первых, мы используем Java, потому что ООП обеспечивает большую прозрачность в нашем коде, а во-вторых, мы используем интерактивный интерфейс для получения данных из первого файла и записи их во второй.
Теоретически (я не проверял) это заставляет пользователя вручную вводить содержимое первого файла (слово в слово), а затем записывает его во второй файл. Этот ответ является игрой на неоднозначность вопроса о том, что означает «ввод текста из одного файла», и сумасшедшие имена переменных (генерируемые случайным образом) были просто для дополнительного удовольствия.
источник
ш
Как указывал @Shingetsu, для правильной работы нужно использовать правильный инструмент. Копирование содержимого из одного файла в другой - старая проблема, и лучшим инструментом для таких задач управления файлами является использование оболочки.
Одна команда оболочки, с которой каждый программист должен ознакомиться, - это обычная
tac
команда, используемая для синхронизации содержимого файлов, один за другим. В качестве особого случая, когда передается только один файл, он просто выплевывается как есть. Затем мы просто перенаправляем вывод в соответствующий файл:Просто и понятно, никаких хитростей!
источник
Perl
Антивирус включен.
источник
Пакет Windows
(потому что у тебя должен быть этот якобы «мертвый» язык ;-)
Вы просто называете это как
copy.bat file1.txt file2.txt
(или любые файлы, которые вы хотите)Если бы только это сохранило разрывы строк ...
источник
setlocal enabledelayedexpansion
иset thisline=!thisline!%%I
работает только в Windows CMD. В DOS должна работать простоset thisline=%thisline%%%I
Linq
Эффективность не важна, правильность есть. Написание в функциональном стиле приводит к более ясному и менее подверженному ошибкам коду. Если производительность оказывается проблемой, последняя строка ToArray () может быть опущена. В любом случае лучше быть ленивым.
источник
Болтовня
Есть библиотека, которая портирована на несколько диалектов Smalltalk (Visualworks, Gemstone Squeak / Pharo, ...) с именем Xtreams что делает эту задачу более простой.
FileStream будет таким же простым, как
'foo' asFilename reading
и,'bar' asFilename writing
например, в Visualworks, но зависит от диалекта.По этой причине я демонстрирую алгоритм с диалектом нейтральных внутренних потоков вместо этого.
Хорошей идеей может быть обработка каждого байтового кода в порядке возрастания:
Конечно, также возможно обрабатывать в случайном порядке, но я боюсь, что это делает код слишком компактным:
РЕДАКТИРОВАТЬ
Ах, глупый я, я не видел решение log2:
источник
BASH
на терминале № 1 с IP, 192.168.1.2
на терминале № 2 с IP, 192.168.1.3
Это зашифрует и отправит
mydocument.docx
, используяnc
иgpg
, на терминал # 1 Вам нужно будет ввести пароль на терминале № 2, затем на терминале # 1источник
C ++
Это в некоторой степени основано на ответе Шингецу , но я не мог удержаться. Он полностью функционирует, но ни один ученик не подаст его своему учителю (я надеюсь). Если они захотят проанализировать код, они смогут решить свою проблему:
источник
питон
Вводит текст из file1.txt и выводит его в file2.txt
Это полно и "работает". Никто не сказал ничего о написании ввода как оно есть. Все входные символы появляются на выходе. «getchar» - часть троллинга.
источник
Mathematica, 44 символа
Реализация
выполнение
Проверьте
источник
CopyFile
функцию.DELPHI / PASCAL (скопировать из f1.txt в f2.txt)
источник
MASM
Я, конечно, не эксперт по сборке, но ниже мой маленький фрагмент:
источник
C ++
Вы заметили бит "полная, рабочая функция"? Во всяком случае, вот мой ответ:
источник
Lua
Запустить с входным файлом, содержащим
text from one file and output it to another. Solution should be a complete, working function.
.источник
PHP
источник
#! / Bin / ш
Выглядит разумно, но довольно неэффективно, если файл большой.
Отлично работает с файлами ASCII, за исключением случаев, когда входной файл содержит
-n
,-e
или-E
. (Потому что они интерпретируются как аргументыecho
.)Не выдает правильный вывод для всех (большинства) двоичных файлов.
(Использование
printf "%s" "$contents" > output
под/bin/bash
работает немного лучше, но при этом все равно сбрасывается NULL байт.)Да, и, конечно, это не работает для имен файлов_содержащих_пространств. Но такие файлы в UNIX% 20policy являются незаконными в любом случае.
источник