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

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Mensajes
Páginas: 1 2 [3] 4 5 6 7 8 9 10 11
21  Programación / Programación C/C++ / No encuentro el error en este programa - Structs + Punteros en: 18 Mayo 2019, 20:04 pm
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4. struct s_texto
  5. {
  6.    char*txt;
  7.    unsigned int longitud;
  8.  
  9. };
  10. typedef struct s_texto t_texto;
  11.  
  12. t_texto* CARGARTEXTO();
  13. char* CARGASTRING();
  14. void escribirarch(const char* nomArch,t_texto*);
  15.  
  16. int main()
  17. {
  18. escribirarch("frases_con_longitud.csv",CARGARTEXTO());
  19.  
  20.  
  21.    return 0;
  22. }
  23. t_texto* CARGARTEXTO()
  24. {
  25.  
  26.    t_texto kiko;
  27.    kiko.txt=CARGASTRING();
  28.    printf("\n%s\n",kiko.txt);
  29.    return &kiko;
  30. }
  31. char*CARGASTRING()
  32. {
  33.  
  34.    char*texto=NULL;
  35.    char letra;
  36.    int i=0;
  37.    texto=malloc(sizeof(char));
  38.    letra=getche();
  39.    while(letra!='\r')
  40.    {
  41.        *(texto+i)=letra;
  42.        i++;
  43.        texto=realloc(texto,((i+1)*sizeof(char)));
  44.        letra=getche();
  45.    }
  46.    *(texto+i)='\0';
  47.    return texto;
  48. }
  49.  
  50. void escribirarch(const char* nomArch,t_texto* kiko)
  51. {
  52.  
  53.    FILE*arch=NULL;
  54.    printf("Llegue");
  55.    printf("%s",kiko.txt);
  56.    arch=fopen(nomArch,"w");
  57.    fprintf(arch,"%d",5);
  58.    printf("%d",longitud(kiko));
  59.    fclose(arch);
  60. }

Lo que tengo que hacer es cargar la estructura con un texto y la longitud de un texto y eso mandarlo a un archivo de texto
Dentro de la estructura hay un puntero.
Mi problema es en la linea 55. No se como hacer que imprima la frase.
Al intentar mandarlo por archivo, no manda nada...justamente porque hay intentar llamar a la frase para que se ponga ahi, me da error.
22  Programación / Programación C/C++ / Re: Consulta sobre punteros y doble punteros en: 17 Mayo 2019, 17:07 pm
Hay algo que no entiendo  en la parte de str=carga()...esa duda si que no la entiendo.
Supongamos que declaro mi puntero char =NULL como en la linea 7 es esta cajita.
Donde 150 es la direccion de memoria de mi puntero y NULL es su contenido.

 l NULL l
  ------
   150

En la linea 8 yo pongo que str=CARGA() y CARGA me va a devolver un puntero al texto que cargue.
Entonces segun lo que creo mi caja queda asi?

 l Direccion Memoria Del Texto (Primer posicion del texto) l
               --------------------------------
                   150


Entonces al hacer el %s detecta la primera posicion de la direccion de memoria del texto y me imprime el texto?.
23  Programación / Programación C/C++ / Consulta sobre punteros y doble punteros en: 17 Mayo 2019, 16:35 pm
Tengo una consulta con el siguiente codigo:

Entiendo que cuando pongo char*Str=NULL lo que estoy declarando es un puntero cuyo contenido es NULL.
Lo que no entiendo es cuando str= CARGA().
No entiendo muy bien es  como funciona la siguiente linea "str=CARGA();".
Que es lo que hace esta funcion?.
Entiendo que hace que str= direccion de memoria del otro puntero.
Pero si estoy haciendo eso...no deberia poner *str=CARGA() para que el contenido de mi puntero str sea la direccion de esa memoria?.
Osea que es lo que se guarda en el contenido de STR? y porque con un simple %s sale la frase cuando deberia poner un asterisco?..

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. char*CARGA();
  4. void CARGA2(char**);
  5. int main()
  6. {
  7.    char *str=NULL;
  8.    str=CARGA();
  9.    CARGA2(&str);
  10.    printf("\n%s",str);
  11.    return 0;
  12. }
  13. char*CARGA()
  14. {
  15.    char*texto=NULL;
  16.    int i=0;
  17.    char letra;
  18.    texto=malloc(sizeof(char));
  19.    letra=getche();
  20.    while(letra!='\r')
  21.    {
  22.  
  23.        *(texto+i)=letra;
  24.        i++;
  25.        texto=realloc(texto,(i+1)*sizeof(char));
  26.        letra=getche();
  27.    }
  28.    *(texto+i)='\0';
  29.    return texto;
  30. }
  31.  
24  Programación / Programación C/C++ / (Consulta) - Declaracion de punteros en Null en: 16 Mayo 2019, 03:14 am
[LENGUAJE C] Tengo la siguiente sentencia y nose como interpretarla.

Char * Arreglo = NULL;

Que significa esto?.
Que el contenido de este arreglo es vacio  y como es la direccion de memoria de esa variable?.Porque hago un %p y salen todos ceros...
25  Programación / Programación C/C++ / Re: Error cargando una estructura con puntero? en: 28 Abril 2019, 05:33 am
Usa &a->n

Ya lo entendi! Gracias.
26  Programación / Programación C/C++ / Error cargando una estructura con puntero? en: 28 Abril 2019, 05:03 am
Tengo el siguiente codigo

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. typedef struct
  4. {
  5.    int n,o,p;
  6.    char p1[26],p2[50];
  7.    double a,b,c;
  8.  
  9. }
  10. t_varios;
  11. void CARGA(t_varios* a,t_varios* b);
  12. int main()
  13. {
  14.    t_varios a,b;
  15.    CARGA(&a,&b);
  16.  
  17.    return 0;
  18. }
  19.  
  20. void CARGA(t_varios* a,t_varios* b)
  21. {
  22.    scanf("%d%d%d",a.n,a.p,a.o);
  23.  
  24. }

Basicamente lo que hago es declarar dos variables de mi estructura en el main, pasarlas como puntero a la funcion y desde esa funcion quiero cargar esas estructuras.
El problema es que no se como usar el scanf...si estoy recibiendo punteros, no seria necesario que ponga el & en el scanf pero igual me da error, pongo entonces el & y da error...ya por poner algo puse * tambien y tampoco...nose como cargarla.
Alguna ayudita?
27  Programación / Programación C/C++ / Re: Porque es posible realizar esta operacion en C? en: 20 Febrero 2017, 01:24 am
es más facil que simplifiques el codigo y dejes

Código
  1. printf("%d",d);

y compares con una tabla ascii




Hola, gracias ya lo entendi!!...estaba confundido porque pense que los numeros empezaban en el 0 en la ascii,...pero empiezan en el 48. :silbar:..y como igualmente el resultado del ejercicio que estaba haciendo me estaba dando bien en ese caso  me estaba confundiendo.
28  Programación / Programación C/C++ / Re: Porque es posible realizar esta operacion en C? en: 20 Febrero 2017, 01:07 am
Y si cambio el '7' y pongo una 'a'...porque el resultado da 98?

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.  
  7. char d='a';
  8.  
  9.  
  10. printf("%d%d",(((d-'0')*2)/10),(((d-'0')*2)%10));
  11.  
  12.    return 0;
  13. }
  14.  
29  Programación / Programación C/C++ / Porque es posible realizar esta operacion en C? en: 20 Febrero 2017, 00:49 am
Tengo el siguiente codigo

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.  
  7. char d='7';
  8.  
  9.  
  10. printf("%d%d",(((d-'0')*2)/10),(((d-'0')*2)%10));
  11.  
  12.    return 0;
  13. }
  14.  


Lo que no entiendo es porque es posible realizar operaciones matematicas si es que el 7 ingresado no es un numero, si no que es el caracter 7 y esta ingresado como char...Creo que me falta algo de concepto para entenderlo.
30  Programación / Programación C/C++ / Que significa un solo = en un if? en: 18 Febrero 2017, 00:19 am
Hola

Tengo este codigo que tengo que analizar:


Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6. int a;
  7. scanf("%d",&a);
  8. if(a=0)
  9. {
  10.    printf("Verdadero");
  11. }
  12. else
  13. {
  14.    printf("Falso");
  15. }
  16.  
  17.  
  18.    return 0;
  19. }
  20.  

No entiendo que significa que el if tenga un solo igual en vez de 2.
Osea se que evidentemente no es una comparacion pero nose que hace para que siempre el programa me tome falso.
Páginas: 1 2 [3] 4 5 6 7 8 9 10 11
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines