elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Mensajes
Páginas: 1 ... 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [30] 31 32 33 34 35 36 37 38
291  Programación / Programación C/C++ / Re: Ayuda como creear funciones en C/C++ en: 10 Mayo 2012, 17:09 pm
Hola! generalmente los prototipos de funciones se declaran arriba del main, da un mejor orden

Saludos
292  Programación / Programación C/C++ / Re: Pequeño error en ficheros en: 9 Mayo 2012, 20:24 pm
Hola! tratando de ayudart con este problema, vi algo q la verdad no tengo idea de porque pasa. Antes de responderte, primero necesito que ejecutes este codigo
Código
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.  
  5.    char c;
  6.    int i=0, j=0;
  7.    FILE *fp1=fopen("archivo.txt", "r");
  8.  
  9.  
  10.    while(j<8){
  11.    c=fgetc(fp1);
  12.    i=ftell(fp1);
  13.  
  14.    printf("i:%d %d %c\n",i,c, c);
  15.    j++;
  16.  
  17. }
  18.    system("PAUSE");
  19.    return 0;
  20. }
El archivo.txt es el q vos tenes con: hola, adios........ Vas a ver q cuando lo ejecutas pasa algo(q hasta 1 min no sabia) interesant. Cuando ftell devuelve 4 se imprime 97 y el caracter 'a', hasta aca bien. Pero en el siguiente ciclo vas a notar que ftell no vale 5(como deberia ser) vale 6 y al lado se imprime el 10 y el salto de linea(ENTER)
La verdad nose xq despues de imprimir 'a', ftell devuelve 6 ¿y el 5??? es como que despues de la 'a' de "hola" hay dos "caracteres": uno nose(seria el 5) y el otro es el enter(el 6)

Sabiendo esto, te dejo modificado la parte del codigo q tendrias mal:
Código
  1. while(feof(fp)==0){
  2.  
  3. c=fgetc(fp);
  4. i++;
  5.  
  6. if(c=='\n'){
  7.            i++;// HAY Q AGREGAR UN INCREMENTO ADICIONAL
  8. aux.V=(int*) realloc(aux.V,(aux.lineas+1)*sizeof(int));
  9. aux.V[aux.lineas]=i;
  10.  
  11. aux.lineas++;
  12. }
  13. }
  14. //aux.lineas++; este incremento estaria demas
  15. return(aux);
  16. }
Agregue un i++ dentro del if, por lo mencionado anteriormente. Comente aux.lineas++; ya q esta demas. Enrealidad no esta demas solo q despues en
Código
  1. fseek(fp1,aux.V[aux.lineas-n],SEEK_SET);
ademas de restarle n tambien tendrias q restarle 1. Acordate q los arreglos van de 0 a n-1

Otra cosa para arreglar es
Código
  1. while(feof(fp1)==0){
  2.  
  3. c = fgetc(fp1);
  4. fputc(c,fp2);
  5. printf("%c", c);
  6. }
tendria q ser
Código
  1. if((c = fgetc(fp1))!=EOF) // tenes q comprar q no sea EOF
  2. fputc(c,fp2);
ya q vas a guardar un caracter demas(basura en fp2). Tenes q poner ese if ya que en cierto modo estas haciendo mal el ciclo while, primero se lee del archivo luego se comprueba q no sea fin de archivo y se vuelve a leer ....ej:
Código
  1. c=fgetc(fp1); // primero leo del archivo
  2. while(feof(fp1)==0){ // compruebo
  3.  
  4. fputc(c,fp2); // guardo en fp2
  5. printf("%c", c);
  6. c=fgetc(fp1);  // vuelvo a leer
  7. }

Bueno hasta aca llega lo q pude deducir(bastante interesant aunq me qdo un vacio ya q no entendi xq pasa eso), espero q alguien pueda responder el porque de ftell salta de 4 a 6

Saludos
293  Programación / Programación C/C++ / Re: Listas y Sublistas..Ayuda!! en: 9 Mayo 2012, 16:40 pm
Hola! mostra el error q t marca asi t podemos ayudar mejor
294  Programación / Programación C/C++ / Re: Ayuda como creear funciones en C/C++ en: 9 Mayo 2012, 07:25 am
Hola! cualquier libro explica eso, lee algo y deci tu duda

Saludos
295  Programación / Programación C/C++ / Re: Cadenas de caracteres en: 7 Mayo 2012, 02:40 am
Hola! funcion para eso? trankilament lo podes hacer vos.. si tenes algo subilo

Saludos
296  Programación / Programación C/C++ / Re: Duda sobre código en: 6 Mayo 2012, 21:46 pm
De nada :)... cuando usas funciones q manejan cadenas(ej: scanf, fgets...),el  caracter '\0' si se agrega solo, pero cuando usas bucles para crear algo como vos hicist, lo tenes q agregar

Saludos
297  Programación / Programación C/C++ / Re: Error de codigo en Devc++ 4.9 en: 6 Mayo 2012, 21:34 pm
Hola! no creo q tire error, debe ser un warning. Es porque la funcion main debe devolver un int, te falta el return al final

Saludos
298  Programación / Programación C/C++ / Re: Duda sobre código en: 6 Mayo 2012, 21:31 pm
El problema es q strlen espera una cadena. Toda cadena termina con el caracter '\0', es por esto q strlen devolvia mal...
Agrega:
Código
  1. PnElementos[i]='\0';
despues del for(ahi tendria q andar bien y usa char en el sizeof). Ademas la condicion del for debe ser i<nElementos-1; ya que el '\0' va  a ocupar el espacio 99 o podrias reservar 101 char en ves de 100

Saludos
299  Programación / Programación C/C++ / Re: Duda sobre código en: 6 Mayo 2012, 17:51 pm
Hola! el problema es que estas haciendo un sizeof(int) en el malloc, de esta forma estas reservando 100 int y no 100 char, es por eso que imprime basura demas. Deberia ser sizeof(char) para tener un arreglo de 100 caracteres

Saludos
300  Programación / Programación C/C++ / Re: programa que lea una cadena y regrese un numero en: 6 Mayo 2012, 03:43 am
Hola! xD muy bueno lo de k3r00t... Un poco mas de ayuda tal vez seria parsear la cadena para analizar, como dijo k3r00t, los caracteres iniciales. Tenes q tener en cuenta aquellos numeros q cambian rotundamente al leerse, por ej. el 500

Ejercicio interesante, nada facil. Tal vez lo haga y suba mi version(aunq no creo q hoy ya q no tengo muchas ganas :S). Si tenes algo subilo

Saludos

Páginas: 1 ... 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [30] 31 32 33 34 35 36 37 38
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines