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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Temas
Páginas: 1 2 3 [4]
31  Programación / Programación C/C++ / crear un programa .exe en: 14 Febrero 2017, 20:27 pm
Hola si yo tengo un codigo en C como tengo que hacerlo para poder crear un programa .exe (ya que al compilar se crea un .exe) pero en donde pueda instalarce en el pc , sin necesidad de la consola, en donde yo pueda personalizar el programa y dejarlo como yo quiero, no se si me entienden. gracias de antemano
32  Programación / Programación C/C++ / variable global en: 12 Febrero 2017, 03:55 am
Hola, si quiero declarar estas variables globales

int D1=2;
int D2 = D1-2;

int main(int argc,char* argv[])
{
}

porque me manda un error el compilador aqui int D2 = D1-2; ?
dice initializer const is not constant
33  Programación / Programación C/C++ / punto medio en cmd en: 12 Febrero 2017, 03:38 am
Hola en el siguiente codigo, alguien me podria explicar estas lineas

Citar
#define PTO_MEDIO(s) (40 - strlen((s))/2 )

Citar
printf("%*s",PTO_MEDIO(texto) - 1," ");

No entiendo en la primera por que es 40 - ... si para el punto medio se supone que deberia ser una suma,

en la segunda no entiendo por que se le resta 1 al resultado :l

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. #define ANCHO_MAX 80
  6. #define PTO_MEDIO(s) (40 - strlen((s))/2 )
  7.  
  8. int main(int argc,char* argv[])
  9. {
  10.    char texto[79]; /*78 caracteres + '\0'*/
  11.    int i,j;
  12.  
  13.    do{
  14.        printf("Introduce un texto: ");
  15.        fflush(stdin);
  16.        fgets(texto,79,stdin);
  17.        if(strlen(texto)==78)
  18.        {
  19.            if(texto[77]=='\n')
  20.                texto[77]='\0';
  21.        }
  22.        else
  23.            texto[strlen(texto)-1]='\0';
  24.    }while(strlen(texto)==0);
  25.  
  26.    printf("\n");
  27.  
  28.    /*
  29.  
  30.     Ponemos 5 filas y strlen(texto) + 2 columnas
  31.  
  32.     Esto se puede cambiar introduciendo variables para crear un tabla con otras dimensiones
  33.  
  34.     */
  35.  
  36.    for(i=0;i<5;i++)
  37.    {
  38.        if(strlen(texto)<77)
  39.            printf("%*s",PTO_MEDIO(texto) - 1," ");
  40.  
  41.        if(i==0 || i==4)
  42.            for(j=0;j< strlen(texto) + 2;j++)
  43.                printf("*");
  44.        else if(i==2)
  45.        {
  46.            printf("*%s*",texto);
  47.        }
  48.        else
  49.        {
  50.            printf("*%*s*",strlen(texto)," ");
  51.        }
  52.  
  53.        if(strlen(texto)<78)
  54.            printf("\n");
  55.        /*else se llega al final de la linea y automaticamente el cursor pasa a estar en la
  56.         primera posicion de la siguiente linea*/
  57.    }
  58.  
  59.    printf("\n");
  60.    system("PAUSE");
  61.  
  62.    return 0;
  63. }
  64.  
34  Programación / Programación C/C++ / Porque no puedo pasarle la direccion de la cadena? strtol en: 11 Febrero 2017, 22:39 pm
Hola tengo este codigo, se supone que la funcion strtol recibe u puntero doble, pero se supone que la cadena "prueba" es un puntero que apunta  ala direccion de memoria del primer elemento de la cadena, o sea es como si le estuviera pasando la dir de un puntero, no se si me explico , de todos modos no me funciona :/ da un warning

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6. char str[30] = "2030300 This is test";
  7. char prueba[20];
  8. char *ptr;
  9. long ret;
  10. printf("\nLa cadena inicial es: %c%s%c\n",34,str,34);
  11.  
  12. /*  long int strtol(const char *str, char **endptr, int base)
  13. //strtol converts the initial part of the string in str to a long int value according to the given base.
  14. whose value is set by the function to the next character in str after the numerical value.
  15. */
  16. ret = strtol(str, &ptr, 10);
  17. printf("\nThe number(unsigned long integer) is %ld\n", ret);
  18. printf("String part is |%s|\n", ptr);
  19.  
  20. ret = strtol(str, &prueba, 10);
  21. printf("\nProbando: %c%s%c\n",34,prueba,34);
  22.  
  23.   return(0);
35  Programación / Programación C/C++ / No guarda la cadena dentro del vector en: 9 Febrero 2017, 21:19 pm
Hola en este codigo me da un error cuando le pido al usuario que ingrese una cadena y que modifique la que yo ya ingrese que es "perro", el problema esta en estas lineas

Código
  1. printf("Ingrese una palabra: ");
  2. scanf("%s",(vector+1));

si no las pongo funciona bien, pero yo quiero que el usuario pueda modificar ese "perro" que yo di.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main()
  6. {
  7. int i,j,a;
  8. char **vector;
  9.  
  10. vector = (char**)malloc(2*sizeof(char*));
  11.  
  12. *(vector) = "hola";
  13. *(vector + 1) = "perro";
  14. printf("Ingrese una palabra: ");
  15. scanf("%s",(vector+1));
  16.  
  17. puts("\nImprimiendo caracter a caracter:");
  18. for(i=0;i<2;i++)
  19. {
  20. for(j=0; j<strlen(*(vector+i)) ; j++)
  21. {
  22. printf("%c",*(*(vector+i)+j));
  23. }
  24. puts("");
  25. }
  26.  
  27. puts("\nImprimiendo completo:");
  28. printf("%s\n",*vector);
  29. printf("%s",*(vector+1));
  30.  
  31. free(vector);
  32.  
  33. return 0;
  34. }
  35.  
  36.  
36  Programación / Programación C/C++ / otra manera de escribir *envp++ en: 5 Febrero 2017, 04:28 am
C, hola, de que otra manera puedo escribir esa notacion ? no entiendo ya que se supone que al hacer *envp++ es como si estumiera incrementando adentro del printf la variable :s por que cuando uno tiene por ejemplo int i, y luego hace i++ es lo mismo que tener i = i+1;, pero yo probe poniendo *envp = *envp + 1 y no funciona, tampoco funciona poniendo *envp = *(envp+1) :s



Páginas: 1 2 3 [4]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines