31-ene-2007, 12:53 | #51 |
Moderador General
|
D_SKY:
Llamo a la funcion asi: int resultado = copy_file_skyrules ("C:\\files\\seguridad\\AUTOEXEC.bak", "C:\\files\\AUTOEXEC.bat"); if( resultado == 1) printf("OK!!!"); else printf("ooOOoooOOoh!! xD"); ejecuto paso a paso con un breakpoint en el punto en el que coje el nombre del fichero, y lo coje, pero cuando va a abrir el origen no lo hace, retorna 0, sale de la funcion de copia y oooooooooooooh. he probado a poner los ficheros directamente en vez de las variables char, y hace lo mismo. que puede ocurrir? |
31-ene-2007, 14:45 | #52 |
Moderador
|
Supongo que te referías al archivo destino, que se abre después del origen.
El problema estaba aqui: Code:
if(!(fDestino = fopen(pDestino, "w"))) //sobreescribe si existe Un saludo y como te dije no está testeada, sino te va bien hago yo una pruebas y te doy una funcion funcional xDDD UPDATE: He hecho un pequeño programita en C y sin problemas compadre, función testeada Lo único que le he añadiría, serían diferentes "returns" según el fallo, para capturar mejor el problema ocurrido y dar así información suficiente al usuario Pd: recuerda que el path debe existir (esta función no crea directorios) y debe tener permisos de escritura (eso en MSDOS ningún problema, pero vamos que yo lo digo xD) Editado por D_Skywalk en 31-ene-2007 a las 14:57. |
31-ene-2007, 16:05 | #53 |
Moderador General
|
nop, eso ya lo habia corregido, hasta ahi me llega, jejeje compilar compila y ejecuta bien, lo que no se es por que leches no coje el archivo de origen, la variable la he comprobado y tiene el nombre pero no lo lee, pasa directamente a return 0; como si el fichero no existiera.
|
31-ene-2007, 21:40 | #54 | |
Moderador
|
Quote:
Yo en linux no tengo ningún problema, mañana te copio el código que he compilado y he comprobado que funciona de perlas Un Saludo compa! |
|
31-ene-2007, 21:52 | #55 |
Moderador General
|
ese es el problema que la debugueo y contiene el nombre perfecto, es lo que me ralla.
mañana voy a intentarlo sin subdirectorios a ver que pasa por que hoy estoy con ganas de quemar este codigo, jejeje, gracias sky. aprovecho, como llevas el driver para dos del interfz paralelo? tengo por aqui un tocho de libro, pc interno que igual te sirve, jejej |
01-feb-2007, 12:27 | #56 |
Moderador
|
jajaja, pues el que un día vi no creo que quepa por el buzón
Y no te desesperes hombre, vamos a ver compila este programejo a ver si tu entorno de trabajo es ansi c o que... xD http://david.dantoine.org/ficheros/ages/copia.c Respecto al OpenPPJoy para MSDOS, busca algún capítulo en el libro para hacer un TSR que es lo que en principio necesitamos por cierto, ¿el sneskey de msdos tiene source disponible? Un Saludo! |
01-feb-2007, 14:58 | #57 |
Moderador General
|
joder , ahora si, esto es la polla, dime que fallaba por favor, voya seuir haciendio pruebas
residente para dos puro y duro no? nada de w98 en el pc interno 2.0 paginas 1048 a 1080 esta un ejemplo en c. otro en asm y otro en pascal de tsr, se activa con combinacion de teclas, ideal, la putada es que no encuentro el cd, a ver si este fin de semana con la limpieza... atencion, detectado el fallo de lo de copia.c y del mio. coje el archivo original y metelo dentro de 2 subdirectorios, y el otro solo dentro de 1. no lo pilla, si lis dos estan dentro de solo 1 subdirectorio si lo pilla. como se puede arreglar? es algo de la cadena del nombre? Editado por Armenta en 01-feb-2007 a las 18:32. |
02-feb-2007, 15:51 | #58 |
Moderador General
|
Alguna Novedad D_sky¿?
|
02-feb-2007, 19:11 | #59 |
Moderador General
|
bubu, las modificaciones de los autoexecs y config.sys esta completada, solo me queda darme de leches con el advmame.rc espero la ayuda de d_sky para el tema de los subdirectorios.
|
03-feb-2007, 17:15 | #60 |
Moderador
|
Pues seguramente sea de como pones la cadena, hazme un copy&paste.
Pero vamos que deberia de ir con un simple: Code:
copia.exe C:\config\advance.rc C:\config\csegs\advance.rc-1 Code:
copia /home/david/advance/advance.rc /opt/csegs/advance.rc-1 Asi que sino tira será que ese compilador no seguirá el estandar ANSI C y habrá que hacer algún parchecillo para que funcione en MSDOS :_? Un Saludo compa |