Resulta que estaba en minecraft y me encontré un cubito (?, resulta que el error de mi programa es el siguiente, yo pongo el archivo que deseo y no sale, probe con if, con while y da el mismo resultado pero no interpreta la primera linea. Tengan en cuenta que es mi primer programa. Lo mas extraño es que antes de unas modificaciones funcionaba de 10. Parece que esta peor que los glitchs del GTA V.
Código
#include <cstdio>
#include <cctype>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <ctime>
//#include <windows.h> Por si se quiere un sleep
usingnamespace std;
FILE*archivo;
FILE*ccmd;
char*pos;
char lineas[150];
// DICCIONARIO DE PROCEDIMIENTOS, PARA SIMPLIFICAR:
/*
void fscls(){
fprintf(ccmd,"\tcout << string(50, '\\n');\n");
}
void fsfin(){
fprintf(ccmd,"\texit (0) ;\n");
}
void fspaus(){
fprintf(ccmd,"\tgetchar();\n");
}
void fsAboWhi(){
lineas[0] = '\0';
} */
void ArchCheq(FILE*fili,int n){
if(fili ==NULL){
cout<<"Error de archivo ("<< n <<")"<< endl;
exit(1);
}
}
int main(int argc, char**argv){
clock_t inicio,fin;
inicio=clock();
// Fix para que el programa no falle si no tiene comandos
if( argc <3){
cout<<"Ejemplo: programa \"Archivo a Abrir.cmd\" -c \"ArchivoSaliente.c\" "<<endl;
return1;
}
if(!strcmp( argv[2], "-c")){
archivo =fopen(argv[1],"r");
ccmd =fopen(argv[3],"wt");
}else{
cout<<"Ejemplo: programa \"Archivo a Abrir.cmd\" -c \"ArchivoSaliente.c\" "<< endl;
}
//Verificacion
ArchCheq(archivo,1);
ArchCheq(ccmd,2);
while(!feof(archivo))
{
fgets( lineas, 150, archivo );//LEE EL ARCHIVO LINEA POR LINEA.
intentaste correrlo en el debugger y ponerle watch a las variables involucradas a ver que pasaba?
en que linea del programa que posteaste ves que da el error?
En línea
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
yo uso netbeans (casi igual que code::blocks)... no es malo y me sirve para java. c,c++, php, etc...
el punto es...
el debugger es una herramienta integrada en el compilador, que en el ide que te permite ver la ejecución de tu código paso a paso (no se como usarlo fuera del ide) literalmente verás el cursor linea a linea, le puedes configurar saltos y puedes ver las variables en tiempo real....
creo que este video explica en general lo que hay que saber del debugger en code::blocks... sin voz y con musica de serie tipo magical girl de fondo
En línea
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
a ok perfecto, gracias, voy a probar ese netbeans y el debugger, de seguro el error debe ser mínimo y no me doy cuenta. EDITO: jajajaja literalmente cuando lo compile, con el Code::Blocks a mano se inicio y me dio error directamente desde Windows.
Código:
//Fix para evitar el problema. if ( argc < 3 ) { cout<<"Ejemplo: programa \"Archivo a Abrir.cmd\" -c \"ArchivoSaliente.c\" "<<endl; return 1; }
« Última modificación: 1 Febrero 2015, 03:21 am por sabeeee »
En línea
"Vengándose, uno iguala a su enemigo; perdonando, uno se muestra superior a él." Francis Bacon
probablemente... siempre los debuggers son muy utiles porque algunas veces los errores son tonterías de usar un - donde iba un +, o una "y" donde uba una "x" y te ayuda a visualizar el paso a paso y donde metiste la pata
En línea
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.