El reto:
Ingrese texto de un archivo y envíelo a otro. La solución debe ser una función completa y funcional.
Nota: Esta es una pregunta de arrastre de código . Por favor, no tome en serio la pregunta y / o las respuestas. Más información aquí .
popularity-contest
code-trolling
Comunidad
fuente
fuente
Respuestas:
C
El punto de tener múltiples lenguajes de programación es que necesitas usar la herramienta adecuada para el trabajo.
En este caso, queremos copiar bytes de un archivo a otro.
Si bien podríamos usar algo elegante como bash o ruby, o caer en el poder de ASM, necesitamos algo rápido, bueno con bits y rápido.
La elección obvia es C.
La forma más SIMPLE de hacerlo sería así:
Esto es malo porque leerá basura en cosas como Cygwin, es completamente chino para un principiante, lo asustará cuando se dé cuenta de que es un llamado de ayuda y, obviamente, porque C.
fuente
#define VERY filename1
#define NOT filename2
#define _ 1
, puede hacer(;_;)
con el bucle for, para que parezca una carita sonriente.#define LOL fclose
hizo mi día#define LOL fclose
, que nunca se usa es mi obra maestra.sh
Me gusta la simplicidad de este.
Realmente solo funciona correctamente si
File1.txt
contiene "File1.text" ...fuente
File2.txt
, no el contenido real deFile1.txt
AutoHotKey
Primero debe abrir los archivos en el bloc de notas o algún otro editor de texto que haga que los nombres de las ventanas comiencen con los nombres de los archivos. Luego copia el contenido del archivo1 en el portapapeles (literalmente, usando ctrl+ c), y lo pega en el archivo2, sobrescribiendo todo lo que está actualmente en él, y lo guarda.
Resuelve el problema, pero de una manera muy inconveniente y bastante inútil. Probablemente sería más fácil copiar y pegar manualmente.
fuente
Como todos saben, Perl es muy bueno para manipular archivos. Este código copiará el contenido de un archivo a otro, y lo hará con redundancia adicional por si acaso.
Para estar seguro, pruebe esto en un archivo pequeño al principio. Una vez que esté convencido de su corrección, puede ponerlo en producción para usarlo en archivos muy grandes sin preocuparse.
fuente
C#
Para lograr esto, debe asegurarse de hacer varias cosas:
Aquí está el código:
fuente
En cuatro simples pasos:
lpr
comando para esto.fuente
Java
A muchas personas les resulta útil intentar usar expresiones regulares o evaluar cadenas para copiarlas de un archivo a otro, sin embargo, ese método de programación es descuidado. Primero usamos Java porque el OOP permite más transparencia en nuestro código, y segundo usamos una interfaz interactiva para recibir los datos del primer archivo y escribirlos en el segundo.
En teoría (no lo he probado), esto hace que el usuario ingrese manualmente el contenido del primer archivo (palabra por palabra) y luego lo escriba en el segundo archivo. Esta respuesta es un juego sobre la ambigüedad de la pregunta en cuanto a lo que significa "ingresar texto de un archivo", y los nombres de variables locas (generados aleatoriamente) fueron solo para un poco más de diversión.
fuente
sh
Como señaló @Shingetsu, uno tiene que usar la herramienta adecuada para el trabajo correcto. Copiar el contenido de un archivo a otro es un viejo problema, y la mejor herramienta para tales tareas de administración de archivos es usar el shell.
Un comando de shell con el que cada programador tiene que familiarizarse es el
tac
comando común , utilizado para abordar el contenido de los archivos, uno tras otro. Como un caso especial de esto, cuando solo se pasa un archivo, simplemente se vuelve a escupir como está. Luego simplemente redirigimos la salida al archivo apropiado:Simple y directo, ¡sin trucos!
fuente
Perl
Antivirus incluido.
fuente
Lote de Windows
(porque tienes que tener este lenguaje supuestamente "muerto" ;-)
Simplemente llame a esto como
copy.bat file1.txt file2.txt
(o los archivos que desee)Si solo mantuviera saltos de línea ...
fuente
setlocal enabledelayedexpansion
yset thisline=!thisline!%%I
funciona solo en Windows CMD. En DOS debe funcionar simpleset thisline=%thisline%%%I
Linq
La eficiencia no es importante, la corrección sí lo es. Escribir en un estilo funcional da como resultado un código más claro y menos propenso a errores. Si el rendimiento resulta ser un problema, se puede omitir la última línea ToArray (). Es mejor ser perezoso de todos modos.
fuente
Charla
Hay una biblioteca aún portada a varios dialectos Smalltalk (Visualworks, Gemstone Squeak / Pharo, ...) llamada Xtreams que hace que esta tarea sea más que fácil.
FileStream sería tan simple como
'foo' asFilename reading
y'bar' asFilename writing
por ejemplo en VisualWorks, pero son específicos dialecto.Por esta razón, demuestro el algoritmo con dialectos neutrales corrientes internas en su lugar.
Una buena idea podría ser procesar cada código de byte en orden creciente:
Por supuesto, también es posible procesar en orden aleatorio, pero me temo que hace que el código sea demasiado compacto:
EDITAR
Ah, estúpido, no vi la solución log2:
fuente
GOLPETAZO
en la terminal # 1 con la IP, 192.168.1.2
en la terminal # 2 con la IP, 192.168.1.3
Esto encriptará y enviará
mydocument.docx
, usandonc
ygpg
, a la terminal # 1. Tendrá que escribir la contraseña en la terminal # 2, luego en la terminal # 1fuente
C ++
Esto está algo basado en la respuesta de Shingetsu , pero no pude resistirme. Está funcionando completamente, pero ningún estudiante lo presentaría a su maestro (espero). Si están dispuestos a analizar el código, podrán resolver su problema:
fuente
Pitón
Introduce texto desde file1.txt y lo envía a file2.txt
Está completo y "funcionando". Nadie dijo nada sobre escribir la entrada tal como está. Todos los caracteres de entrada aparecen en la salida. "getchar" es la parte de trolling.
fuente
Mathematica, 44 caracteres
Implementación
Ejecución
Cheque
fuente
CopyFile
.DELPHI / PASCAL (copia de f1.txt a f2.txt)
fuente
MASM
Ciertamente no soy un experto en ensamblaje, pero a continuación está mi pequeño fragmento:
fuente
C ++
¿Notó el bit de "función de trabajo completa"? De todos modos, aquí está mi respuesta:
fuente
Lua
Ejecutar con un archivo de entrada que contenga
text from one file and output it to another. Solution should be a complete, working function.
.fuente
PHP
fuente
#! / bin / sh
Parece razonable, pero bastante ineficiente si el archivo es grande.
Funciona bien en archivos ASCII, excepto cuando el archivo de entrada contiene
-n
,-e
o-E
. (Porque estos son interpretados como argumentos porecho
.)No produce la salida correcta para todos (la mayoría) de los archivos binarios.
(Utilizando
printf "%s" "$contents" > output
debajo/bin/bash
funciona un poco mejor, pero eso todavía deja caer NULL bytes).Ah, y por supuesto, no funciona para nombres de archivos_espacios_contaminantes. Pero tales archivos son ilegales bajo UNIX% 20policy de todos modos.
fuente