|
Mostrar Temas
|
Páginas: 1 [2] 3 4
|
11
|
Programación / Programación C/C++ / [C][Bug][SOLUCIONADO] Problema al con mi código de traducción.
|
en: 14 Enero 2015, 23:19 pm
|
Hola nuevamente foro, tengo un problema que me dificulta seguir con mi código, digo que es un bug porque hice mi código aparte, el cual funciona perfectamente, luego lo implemente a mi código y falla: Código donde se presenta la falla: #include <stdio.h> #include <ctype.h> #include <string.h> #include <stdlib.h> // Limpiador de pantalla void clrScr() { //Windows/Linux /* Modo realmente multiplataforma (malo). int n; for (n = 0; n < 10; n++) printf( "\n\n\n\n\n\n\n\n\n\n\n\n\n" ); */ } // Mensaje "propagandistico" void Mensaje() { printf("\t+----------------------------+\n"); printf("\t|BATCH TO C SOURCE CONVERTER |\n"); printf("\t+----------------------------+\n"); } // Limpiador de ENTER void EnterLimp() { while ( getchar() != '\n' ); /* limpia el caracter ENTER de la entrada estandar */ } int main() { int oculto; int clave; FILE *fp; char *cPtr; char filename[30]; //filename for source code //for command char cmd[150]; //la clave char cmb[350]; // Nombre archivo final Mensaje(); printf("\nEntre el nombre que le quiere dar al codigo saliente(.c): "); EnterLimp(); clrScr(); // Tipo de clave Mensaje(); printf("AVISO: (No es posible modo oculto con clave externa) (2)\n "); printf("1: Para modo clave consola.\n 2: para clave externa (-pass clave) \n 0: sin clave"); EnterLimp(); clrScr(); // Modo clave 1 if( clave== 1 ){ Mensaje(); printf("\nLa clave de mas de 3 caracteres: "); EnterLimp(); } // Modo clave 2 if( clave== 2 ){ Mensaje(); EnterLimp(); } clrScr(); //Modo "oculto" if( clave== 2 ){ Mensaje(); printf("No es posible modo oculto con clave externa\n"); printf("Enter para continuar\n"); }else{ Mensaje(); printf("Para modo oculto escriba 1 (solo windows) o 0 para normal : "); EnterLimp(); } clrScr(); /* //Concatenado Mensaje(); printf("\nMetodo de concatenado : "); printf("\n1 para metodo modo inteligente (beta) : "); scanf("%d",&concatenado); EnterLimp(); clrScr(); */ //Codigos fp = fopen(filename ,"w"); if (fp==NULL) { printf("Ocurrio un error al intentar abrir el archivo"); } else { // includes normales fprintf(fp ,"#include <stdio.h>\n"); fprintf(fp ,"#include <stdlib.h>\n"); if( clave== 2 ){ fprintf(fp ,"#include <string.h>\n"); } if( oculto== 1 ){ // modo oculto fprintf(fp ,"#include <windows.h>\n"); } if( oculto== 1 ){ fprintf(fp ,"int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,\n"); fprintf(fp ,"PSTR szCmdLine, int iCmdShow)\n"); } // int argc, char **argv fprintf(fp ,"int main( int argc, char **argv)\n"); if( clave== 1 ){ // modo clave fprintf(fp ,"printf(\"Escriba su clave: \");\n"); fprintf(fp ,"scanf(\"%%s\",clave);\n"); fprintf(fp ,"if(strcmp(clave,\"%s\")==0)\n",cmb ); } if( clave== 2 ){ // modo consola fprintf(fp ,"\tchar clave2[21] = \"%s\";\n",cmb ); fprintf(fp ,"\tif ( argc < 3 ) {\n"); fprintf(fp ,"\tprintf(\"USO: programa -pass clave\");\n"); fprintf(fp ,"\tif ( !strcmp( argv[1], \"-pass\" ) ) {\n"); fprintf(fp ,"\tstrncpy( clave, argv[2], 20 );\n"); fprintf(fp ,"\tclave[21] = '\\0';\n"); fprintf(fp ,"\tif ( !strcmp(clave, clave2) )\n"); } clrScr(); Mensaje(); printf("\nComience a escribir los comandos : \n"); printf("Cuando finalice, ecriba 'FIN' para terminar\n"); while (1) { fgets( cmd , 150, stdin ); if ( ( cPtr = strchr( cmd , '\n' ) ) != NULL ) *cPtr = '\0'; while (!strcmp(cmd ,"PAUSE\>NUL")) { fgets( cmd , 150, stdin ); if ( ( cPtr = strchr( cmd , '\n' ) ) != NULL ) *cPtr = '\0'; } { fprintf(fp ,"\tprintf(\"Presione una tecla para continuar.\");\n"); fgets( cmd , 150, stdin ); if ( ( cPtr = strchr( cmd , '\n' ) ) != NULL ) *cPtr = '\0'; } { break; //if end is typed, get out of loop } fprintf(fp ,"\tsystem(\"%s\");\n",cmd ); } if( clave== 0 ){ } if( clave== 1 ){ // modo clave fprintf(fp ,"\tprintf(\"Clave no valida\");\n}\n"); } if( clave== 2 ){ // modo clave fprintf(fp ,"\tprintf(\"Clave no valida\");\n}\n"); } } }
Código que funciona perfectamente y es similar: #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> int main() { char *cPtr; FILE *fp; char filename[30]; char incs[200] = "#include <stdio.h>\n#include <stdlib.h>\nint main()\n{\n"; char end[50] = "}\n"; char cmd[150]; printf("\nArchivo a crear: "); fp = fopen(filename ,"w"); if (fp==NULL) { printf("Some error occurred while opening file"); } else { printf("\nIngrese sus codigos: \n"); while (1) { fgets( cmd , 150, stdin ); if ( ( cPtr = strchr( cmd , '\n' ) ) != NULL ) *cPtr = '\0'; while (!strcmp(cmd ,"PAUSE\>NUL")) { fgets( cmd , 150, stdin ); if ( ( cPtr = strchr( cmd , '\n' ) ) != NULL ) *cPtr = '\0'; } { fprintf(fp ,"\tprintf(\"Presione una tecla para continuar.\");\n"); fgets( cmd , 150, stdin ); if ( ( cPtr = strchr( cmd , '\n' ) ) != NULL ) *cPtr = '\0'; } { break; } fprintf(fp ,"\tsystem(\"%s\");\n",cmd ); } } }
Lo que pasa es que en el ultimo me devuelve el código perfectamente y el primero de todos, ese es el que falla y no se porque, funciona pero se saltea las lineas, aveces anda otras no ¿Se le puede hacer algo?. SOLUCIONADO Y CORREGIDO UN POCO. #include <stdio.h> #include <ctype.h> #include <string.h> #include <stdlib.h> // Limpiador de pantalla void clrScr() { //Windows/Linux /* Modo realmente multiplataforma (malo). int n; for (n = 0; n < 10; n++) printf( "\n\n\n\n\n\n\n\n\n\n\n\n\n" ); */ } // Mensaje "propagandistico" void Mensaje() { printf("\t+----------------------------+\n"); printf("\t|BATCH TO C SOURCE CONVERTER |\n"); printf("\t+----------------------------+\n"); } // Limpiador de ENTER void EnterLimp() { while ( getchar() != '\n' ); /* limpia el caracter ENTER de la entrada estandar */ } int main() { int oculto; int clave; FILE *fp; char *cPtr; char filename[30]; //filename for source code //for command char cmd[150]; //la clave char cmb[350]; // Nombre archivo final Mensaje(); printf("\nEntre el nombre que le quiere dar al codigo saliente(.c): "); EnterLimp(); clrScr(); // Tipo de clave Mensaje(); printf("AVISO: (No es posible modo oculto con clave externa) (2)\n "); printf("1: Para modo clave consola.\n 2: para clave externa (-pass clave) \n 0: sin clave:\n\t"); EnterLimp(); clrScr(); // Modo clave 1 if( clave== 1 ){ Mensaje(); printf("\nLa clave de mas de 3 caracteres: "); EnterLimp(); clrScr(); } // Modo clave 2 if( clave== 2 ){ Mensaje(); EnterLimp(); clrScr(); //Modo "oculto" Mensaje(); printf("No es posible modo oculto con clave externa\n"); printf("Enter para continuar\n"); }else{ Mensaje(); printf("Para modo oculto escriba 1 (solo windows) o 0 para normal : "); EnterLimp(); } clrScr(); /* //Concatenado Mensaje(); printf("\nMetodo de concatenado : "); printf("\n1 para metodo modo inteligente (beta) : "); scanf("%d",&concatenado); EnterLimp(); clrScr(); */ //Codigos fp = fopen(filename ,"w"); if (fp==NULL) { printf("Ocurrio un error al intentar abrir el archivo"); } else { // includes normales fprintf(fp ,"#include <stdio.h>\n"); fprintf(fp ,"#include <stdlib.h>\n"); if( clave== 2 ){ fprintf(fp ,"#include <string.h>\n"); } if( oculto== 1 ){ // modo oculto fprintf(fp ,"#include <windows.h>\n"); } if( oculto== 1 ){ fprintf(fp ,"int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,\n"); fprintf(fp ,"PSTR szCmdLine, int iCmdShow)\n"); } // int argc, char **argv fprintf(fp ,"int main( int argc, char **argv)\n"); if( clave== 1 ){ // modo clave fprintf(fp ,"printf(\"Escriba su clave: \");\n"); fprintf(fp ,"scanf(\"%%s\",clave);\n"); fprintf(fp ,"if(strcmp(clave,\"%s\")==0)\n",cmb ); } if( clave== 2 ){ // modo consola fprintf(fp ,"\tchar clave2[21] = \"%s\";\n",cmb ); fprintf(fp ,"\tif ( argc < 3 ) {\n"); fprintf(fp ,"\tprintf(\"USO: programa -pass clave\");\n"); fprintf(fp ,"\tif ( !strcmp( argv[1], \"-pass\" ) ) {\n"); fprintf(fp ,"\tstrncpy( clave, argv[2], 20 );\n"); fprintf(fp ,"\tclave[21] = '\\0';\n"); fprintf(fp ,"\tif ( !strcmp(clave, clave2) )\n"); } clrScr(); Mensaje(); printf("\nComience a escribir los comandos : \n"); printf("Cuando finalice, ecriba 'FIN' para terminar\n"); while (1) { fgets( cmd , 150, stdin ); if ( ( cPtr = strchr( cmd , '\n' ) ) != NULL ) *cPtr = '\0'; while (!strcmp(cmd ,"PAUSE\>NUL")) { fgets( cmd , 150, stdin ); if ( ( cPtr = strchr( cmd , '\n' ) ) != NULL ) *cPtr = '\0'; } { fprintf(fp ,"\tprintf(\"Presione una tecla para continuar.\");\n"); fgets( cmd , 150, stdin ); if ( ( cPtr = strchr( cmd , '\n' ) ) != NULL ) *cPtr = '\0'; } { break; //if end is typed, get out of loop } fprintf(fp ,"\tsystem(\"%s\");\n",cmd ); } if( clave== 0 ){ } if( clave== 1 ){ // modo clave fprintf(fp ,"\tprintf(\"Clave no valida\");\n}\n"); } if( clave== 2 ){ // modo clave fprintf(fp ,"\tprintf(\"Clave no valida\");\n}\n"); } } }
El error era muy básico, había utilizado un gets en donde no tenia que estar antes del bucle, lo elimine y el problema esta resuelto.
|
|
|
12
|
Programación / Programación C/C++ / [Ayuda] separar cadena en partes
|
en: 8 Enero 2015, 03:49 am
|
Bueno, les explico soy muy pero muy novato en C y me puse a "mejorar", un poco un código de batch a C, que en realidad solo llama al system, y la verdad es que ahora quiero que traduzca muy básico por ejemplo tengo en batch: que en c seria algo asi #include <stdio.h> #include <ctype.h> #include <string.h>
int main() { char pepe[21] = hola; printf(pepe); return 0; } O que en c seria algo asi #include <stdio.h>
int main() { printf("HOLA MUNDO"); return 0; } intente con memcpy y no entiendo muy bien solo necesitaría separar por ejemplo set "variable" = "valor", si sale vamos por linux. #include <stdio.h> #include <ctype.h> #include <string.h> #ifdef __cplusplus__ #include <cstdlib> #else #include <stdlib.h> #endif // Limpiador de pantalla void clrScr() { } // Mensaje "propagandistico" void Mensaje() { printf("\t+----------------------------+\n"); printf("\t|BATCH TO C SOURCE CONVERTER |\n"); printf("\t+----------------------------+\n"); } // Limpiador de ENTER void EnterLimp() { while ( getchar() != '\n' ); /* limpia el caracter ENTER de la entrada estandar */ } int main() { int oculto; int clave; int concatenado; FILE *fp; char *cPtr; char filename[30]; //filename for source code //end part of output file char end[50] = "\treturn 0;\n}"; //for command char cmd[150]; //la clave char cmb[350]; // Nombre archivo final Mensaje(); printf("\nEntre el nombre que le quiere dar al codigo saliente(.c): "); EnterLimp(); clrScr(); // Tipo de clave Mensaje(); printf("AVISO: (No es posible modo oculto con clave externa) (2) \n "); printf("Para modo clave escriba 1 o 2 para clave externa (-pass clave) : "); EnterLimp(); clrScr(); // Modo clave 1 if( clave== 1 ){ Mensaje(); printf("\nLa clave de mas de 3 caracteres: "); EnterLimp(); } // Modo clave 2 if( clave== 2 ){ Mensaje(); EnterLimp(); } clrScr(); //Modo "oculto" if( clave== 2 ){ Mensaje(); printf("No es posible modo oculto con clave externa\n"); printf("Enter para continuar\n"); getchar(); //pausa multiplataforma <3 }else{ Mensaje(); printf("Para modo oculto escriba 1 (solo windows) o 0 para normal : "); EnterLimp(); } clrScr(); //Concatenado Mensaje(); printf("\nMetodo de concatenado : "); printf("\n1 para metodo modo inteligente (beta) : "); scanf("%d",&concatenado ); EnterLimp(); clrScr(); //Codigos fp = fopen(filename ,"w"); if (fp==NULL) { printf("Ocurrio un error al intentar abrir el archivo"); } else { // includes normales fprintf(fp ,"#include <stdio.h>\n"); fprintf(fp ,"#include <stdlib.h>\n"); if( clave== 2 ){ fprintf(fp ,"#include <string.h>\n"); } if( oculto== 1 ){ // modo oculto fprintf(fp ,"#include <windows.h>\n"); } if( oculto== 1 ){ fprintf(fp ,"int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,\n"); fprintf(fp ,"PSTR szCmdLine, int iCmdShow)\n"); } // int argc, char **argv fprintf(fp ,"int main( int argc, char **argv)\n"); /* A solucionar... if( clave== 2 ){ // int argc, char **argv fprintf(fp,"int main( int argc, char **argv)\n"); fprintf(fp,"{\n"); }else{ // normal fprintf(fp,"int main()\n"); fprintf(fp,"{\n"); } */ if( clave== 1 ){ // modo clave fprintf(fp ,"printf(\"Escriba su clave: \");\n"); fprintf(fp ,"scanf(\"%%s\",clave);\n"); fprintf(fp ,"if(strcmp(clave,\"%s\")==0)\n",cmb ); } if( clave== 2 ){ // modo consola fprintf(fp ,"\tchar clave2[21] = \"%s\";\n",cmb ); fprintf(fp ,"\tif ( argc < 3 ) {\n"); fprintf(fp ,"\tprintf(\"USO: programa -pass clave\");\n"); fprintf(fp ,"\tif ( !strcmp( argv[1], \"-pass\" ) ) {\n"); fprintf(fp ,"\tstrncpy( clave, argv[2], 20 );\n"); fprintf(fp ,"\tclave[21] = '\\0';\n"); fprintf(fp ,"\tif ( !strcmp(clave, clave2) )\n"); } clrScr(); if( concatenado== 1 ){ // concatenado fprintf(fp ,"\tchar shin[1000];\n"); fprintf(fp ,"\tstrcpy (shin,\"\");\n"); Mensaje(); printf("\nComience a escribir los comandos : \n"); printf("Cuando finalice, ecriba 'end' para terminar\n"); fgets( cmd , 150, stdin ); if ( ( cPtr = strchr( cmd , '\n' ) ) != NULL ) *cPtr = '\0'; while ( strcmp( cmd , "end" ) ) { fprintf(fp ,"\tstrcat (shin,\"%s && \");\n",cmd ); fgets( cmd , 150, stdin ); if ( ( cPtr = strchr( cmd , '\n' ) ) != NULL ) *cPtr = '\0'; } fprintf(fp ,"\tstrcat (shin,\"exit\");\n"); fprintf(fp ,"\tprintf(\"\\n\");\n"); }else{ //Normal Mensaje(); printf("\nComience a escribir los comandos : \n"); printf("Cuando finalice, ecriba 'end' para terminar\n"); fgets( cmd , 150, stdin ); if ( ( cPtr = strchr( cmd , '\n' ) ) != NULL ) *cPtr = '\0'; while ( strcmp( cmd , "end" ) ) { fprintf(fp ,"\tsystem(\"%s\");\n",cmd ); fgets( cmd , 150, stdin ); if ( ( cPtr = strchr( cmd , '\n' ) ) != NULL ) *cPtr = '\0'; } fprintf(fp ,"\tprintf(\"\\n\");\n"); } if( clave== 1 ){ // modo clave fprintf(fp ,"\tprintf(\"Clave no valida\");\n}\n"); } if( clave== 2 ){ // modo clave fprintf(fp ,"\tprintf(\"Clave no valida\");\n}\n"); } clrScr(); } }
|
|
|
13
|
Programación / Programación C/C++ / [Solucionado] Parametros desde consola
|
en: 2 Enero 2015, 04:07 am
|
#include <stdio.h> #include <stdlib.h> int main() { char clave[6]; printf("Escriba su clave: "); scanf("%s",clave); if(strcmp(clave,"passbasico")==0) { system("echo sencillo a ejecutar"); printf("\n"); } else { printf("Clave no valida"); } return 0; }
Hola soy nuevo en C y quisiera hacer algo así pero que en vez de que sea desde el mismo programa se pueda poner un parámetro externo "-pass passbasico" desde una consola por ejemplo.
|
|
|
15
|
Programación / Programación C/C++ / [Ayuda] variable dentro de char (solucionado)
|
en: 24 Diciembre 2014, 00:37 am
|
Esta probando, ya que hace poco aprendí a dominar el batch bastante bien (te debes estar riendo), modificar, entender un poco el lenguaje C/C++ y me resulto excelente, cada paso que daba me daban mas ganas de aprenderlo, una especie de retroalimentacion positiva, y bueno voy por lo basico ahora, editar un "source" que tenia por alli de ejemplo y la verdad que me quede en: char header[300] = ("\nCodigo creado por %d\n", creador); no logro entender que es lo que hice mal que cuando lo compilo con g++, da error, si me dicen que es lo que hice mal me dan una gran ayuda que espero que me ayude en el futuro Tengo entendido que d es para numero pero es solo para ejemplo /********************************************* * Batch DOS To C Source Code Converter v.1.1 * * Coded by Samar Dhwoj Acharya aka $yph3r$am * * Website => http://sampctricks.blogspot.com * * E-mail meh at samar_acharya[at]hotmail.com * * Contact meh at +9779841150346 (NTC <a href="http://cityadspix.com/tsclick-MIQCWPUV-GECAQBFF?url=http%3A%2F%2Fwww.sotmarket.ru%2Fproduct%2Fsandisk-microsdxc-64gb-class-10-ultra-sd-adapter.html&sa=mh&sa1=&sa2=&sa3=&sa4=&sa5=&bt=20&pt=9<=2&tl=3&im=ODI1LTAtMTQxOTM3ODQyMC0xNzQ0OTE1Ng%3D%3D&fid=NDQ1NzU2Nzc1&prdct=0a3e083f0a3b0a3d0a&kw=mobile)%20*%0A*%20I" target="_blank" alt="Mobile Ultra microSDXC UHS-I 64GB" title="Mobile Ultra microSDXC UHS-I 64GB" style="">mobile) * * I</a> know to code: PHP, PERL, C, JAVA, PYTHON, ASM * *********************************************/ /* Some Notes: -The program was created in real hurry in between end term exams -So the program lacks all buffer overflow protections and optimization form -The code can be modified but please don't change the credits for the file -If you come up with better idea of implementing it in C, please contact me -If you feel program is complete crap, do comment me personally or here -If you loved my coding, I feel really glad for that. -If you need to understand the coding(in fact, its just easy), contact me.. - Visit my site http://www.sampctricks.blogspot.com and my group site http://www.nepsecvulns.blogspot.com */
//include header files... #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> int main(){ int creador;
FILE *fp; char filename[30]; //filename for source code // starting header of outputted file char header[300] = ("\nCodigo creado por %d\n", creador); //all the includes in output file char incs[200] = "#include <stdio.h>\n#include <conio.h>\n#include <stdlib.h>\n#include <windows.h>\nint WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,\nPSTR szCmdLine, int iCmdShow)\n{\n"; //end part of output file char end[50] = "\treturn 0;\n}"; //for command char cmd[150]; printf("\t+----------------------------+\n"); printf("\t|BATCH TO C SOURCE CONVERTER |\n"); printf("\t|CODED BY SAMARDHWOJ ACHARYA |\n"); printf("\t+----------------------------+\n"); printf("Introduce el nombre del creador "); scanf("%d", &creador);
printf("\nEnter the filename(with .c extension): "); scanf("%s",filename);
fp = fopen(filename,"w"); if (fp==NULL) { printf("Some error occurred while opening file"); getch(); exit(1); } else { fprintf(fp,"%s%s",header,incs); printf("\nNow start entering DOS commands: \n"); printf("When finished, type 'end' for the end of commands\n");
printf("\nStart:\n\n"); gets(cmd); while (1) { gets(cmd); if (!strcmp(cmd,"end")) { break; //if end is typed, get out of loop } fprintf(fp,"\tsystem(\"%s\");\n",cmd); } fprintf(fp,"\tprintf(\"\\n\");"); fprintf(fp,"\n%s",end); printf("\n\nFile successfully created"); printf("\nNow compile it with any C compiler"); printf("\nThanks for using this little app"); fclose(fp); } getch(); }
EDITO: CODIGO SOLUCIONADO, No a la perfección pero resuelto, gracias mod y a Yoel que ya me pongo a implementar tu código. #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> int main() { FILE *fp; char filename[30]; //filename for source code // starting header of outputted file char header[300] = "/*\nBatch DOS command To C source Converter\nBy sam207 (samar_acharya[at]hotmail.com)\nhttp://www.sampctricks.blogspot.com\nhttp://nepali.netau.net\n*/\n"; //all the includes in output file char incs[200] = "#include <stdio.h>\n#include <conio.h>\n#include <stdlib.h>\n#include <windows.h>\nint WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,\nPSTR szCmdLine, int iCmdShow)\n{\n"; //end part of output file char end[50] = "\treturn 0;\n}"; //for command char cmd[150]; //para el resto, la clave char cmb[350]; printf("\t+----------------------------+\n"); printf("\t|BATCH TO C SOURCE CONVERTER |\n"); printf("\t|CODED BY SAMARDHWOJ ACHARYA |\n"); printf("\t+----------------------------+\n"); printf("\nEnter the filename(with .c extension): "); scanf("%s",filename); printf("\nContraseña: "); scanf("%s",cmb); fp = fopen(filename,"w"); if (fp==NULL) { printf("Some error occurred while opening file"); getch(); exit(1); } else { fprintf(fp,"%s%s",header,incs); fprintf(fp,"char clave[6];\n"); fprintf(fp,"printf(\"escriba su clave: \");\n"); fprintf(fp,"scanf(\"%%s\",clave);\n"); fprintf(fp,"if(strcmp(clave,\"%s\")==0)\n",cmb); fprintf(fp,"{\n"); printf("\nNow start entering DOS commands: \n"); printf("When finished, type 'end' for the end of commands\n"); printf("\nStart:\n\n"); gets(cmd); while (1) { gets(cmd); if (!strcmp(cmd,"end")) { break; //if end is typed, get out of loop } fprintf(fp,"\tsystem(\"%s\");\n",cmd); } fprintf(fp,"\tprintf(\"\\n\");\n"); fprintf(fp,"\t}\nelse\n{\n"); fprintf(fp,"\tprintf(\"Clave no valida\");\n}\n"); fprintf(fp,"\n%s",end); printf("\n\nFile successfully created"); printf("\nNow compile it with any C compiler"); printf("\nThanks for using this little app"); fclose(fp); } getch(); }
|
|
|
16
|
Programación / Scripting / [Ayuda] Se queda sin valor la variable
|
en: 9 Diciembre 2014, 22:43 pm
|
Muchas gracias por visitar. Hace mucho había visto este código muy bueno: @echo off setlocal enabledelayedexpansion for /f "tokens=* delims=" %%x in ('type texto.txt') do ( set linea=%%x set linea=!linea:Perl=C! call :show !linea! ) goto:eof :show echo %* >> out.txt goto:eof Y lo pensé usar en este código para ripear juegos que funciona de forma excelente. @echo off ::Sistema MP3 a OGG:: ::Variables:: ::Extension:: ::Entra (diseñado para MP3) set mp3int=mp3 ::Wav (temporal) set tempwav=wavtmp ::Sale (diseñado para OGG) set oggext=mp3.ogg ::Calidad:: set configogg=-q 2.50 ::Codigo setlocal enabledelayedexpansion for /R %%x in (*.%mp3int%) do ( set linea=%%x set linea=!linea:.mp3=! call :show !linea! ) goto:eof :show lame --decode "%*.%mp3int%" "%*.%tempwav%" oggenc2 %configogg% "%*.%tempwav%" -o "%*.%oggext%" del "%*.%mp3int%" /s del "%*.%tempwav%" /s ) goto:eof Pero hay un inconveniente... Cuando paso a set linea=!linea:.%mp3int%=! La variable %mp3int% ya no responde ¿Como puedo solucionar esto?. Muchas gracias, agradecido con ustedes por siempre...
|
|
|
17
|
Seguridad Informática / Bugs y Exploits / [Bug] CMD Se crashea con un codigo
|
en: 8 Diciembre 2014, 01:42 am
|
Miren la debilidad que acabo de encontrar si se pone este codigo: for /R %%a in (*.*) do ("%%a")
Se crashea el CMD, probado en Win 7 Ultimate x64. Al parecer se genera un bluce infinito. Necesito que lo prueben en windows diefrentes Aclaro: -No funciona desde CMD. -Solo va desde batch. -Solo con que este el mismo script aislado en una carpeta ya se buguea.
|
|
|
19
|
Programación / .NET (C#, VB.NET, ASP) / [Ayuda] Como puedo pasar un batch a VB 10
|
en: 5 Diciembre 2014, 02:47 am
|
::Sistema de UPX:: ::Variables:: ::Configuracion de compresion:: set param=--best ::Codigo for /R %%x in (*.*) do ( upx.exe "%param%" "%%x" )
O sino ayúdenme a hacer esto nomas, lo de las variables no es tan importante, ya que para el uso que le voy a dar es inútil. ::Funcionamiento ::Lista todos los archivos de las subcarpetas y los guarda en la variable "%%x" for /R %%x in (*.*) do ( upx.exe --best "%%x" )
Ese no es el codigo completo, solo pido una ayuda para empezar por favor.
|
|
|
|
|
|
|