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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / ¿La función memcpy coloca el final de cadena "\0"? en: 29 Junio 2018, 15:13 pm
Hola a todos, buen día.-
Tengo esa duda y por mas que busco ninguna página que consulto me da la respuesta, estoy haciendo una agenda y quiero poner en cada registro la fecha de alta del contacto.-

Código
  1. #include <stdio.h>
  2. #include <time.h>
  3. #include <string.h>
  4.  
  5. int main(int argc,char* argv[]) {
  6.  
  7. time_t tiempo = time(0);
  8. struct tm *tlocal = localtime(&tiempo);
  9. char output[128], fecha[11];
  10. strftime(output,128,"%d/%m/%Y %H:%M:%S",tlocal);
  11. memcpy( fecha, output, 10 );
  12.  
  13. printf("\n %s\n",fecha);
  14.  
  15. return 0;
  16. }

Es todo, espero Uds. lo sepan.
Dano
2  Programación / Programación C/C++ / Tabla con punteros. en: 9 Junio 2018, 19:41 pm
Hola, buen día.
Encontré esto en unos apuntes y no se como llamarlo, se me antoja una tabla de 3 x 20 con puntero pero me gustaría que alguien me diga si es lo correcto, o cual es la definición correspondiente.

Código
  1. int arr[COL], i, j;
  2. int (*pm)[REN] = (int(*)[REN]) &arr;

Lo que sigue lo implemente yo y parece que funciona correctamente.-
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define REN 3
  5. #define COL 20
  6.  
  7. int main(int argc, char *argv[]){
  8. int arr[COL], i, j;
  9. int (*pm)[REN] = (int(*)[REN]) &arr;
  10.  
  11. for ( i=0; i<REN; i++ ){
  12. for ( j=0; j<COL; j++ ){
  13. *(*(pm+COL)+REN) = 2;
  14. }
  15. }
  16.  
  17. for ( i=0; i<REN; i++ ){
  18. for ( j=0; j<COL; j++ ){
  19. printf ( "%d ", *(*(pm+COL)+REN) );
  20. }
  21. printf ( "\n" );
  22. }
  23.  
  24. return 0;
  25. }
Saludos y buen Sábado.
3  Programación / Programación C/C++ / Vector con puntero, obtener la posición de un determinado elemento. en: 8 Junio 2018, 01:27 am
Hola, ¿como están?
Dude mucho antes de hacer este post, pero me plantie ¿si uno no pide ayuda como aprende?,-
Bueno eso es todo, dejo todo el programa ya que es corto y tal vez a alguien le sirva de consulta.-
Lo que necesito es para aplicar en el printf de la línea 61, -

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. #define ELEMENT 20
  6.  
  7. void rellenar( int *ptrVec );
  8. void ordenar ( int *ptrVec );
  9. void buscar ( int *ptrVec );
  10.  
  11. int main(int argc, char *argv[]){
  12. int vector[ELEMENT], i;
  13.  
  14. rellenar ( vector );
  15. ordenar ( vector );
  16. buscar ( vector );
  17.  
  18. return 0;
  19. }
  20.  
  21. void rellenar( int *ptrVec ){
  22. int numero, i;
  23. srand( time(NULL) );
  24.  
  25. for ( i=0; i<ELEMENT; i++){
  26. numero = rand() % 101;
  27. *( ptrVec + i) = numero;
  28. }
  29. }
  30.  
  31. void ordenar ( int *ptrVec ){
  32. int i, j, tmp, menor, pos;
  33.  
  34. for ( i=0; i<ELEMENT-1; i++ ){
  35. menor = *(ptrVec+i);
  36. tmp = menor;
  37. pos = i;
  38. for ( j=i; j<ELEMENT-1; j++ ){
  39. if ( menor > *(ptrVec +j+1) ){
  40. menor = *(ptrVec +j+1);
  41. pos = j+1;
  42. }
  43. }
  44. if ( tmp != menor ){
  45. *(ptrVec+i) = menor;
  46. *(ptrVec+pos) = tmp;
  47. }
  48. }
  49. }
  50.  
  51. void buscar ( int *ptrVec ){
  52. int centro,inf=0,sup=ELEMENT-1,buscar=15;
  53.  
  54. for (int i=0; i<ELEMENT; i++){
  55. printf ( "%d ", *(ptrVec+i) );
  56. }
  57.  
  58. while( inf<=sup ){
  59. centro=((sup-inf)/2)+inf;
  60. if(*(ptrVec+centro) == buscar){
  61. printf ( "\n Encontrado en la posicion...: %d", 2 );
  62. break;
  63. }
  64. else if(buscar < *(ptrVec+centro)){
  65. sup=centro-1;
  66. }
  67. else{
  68. inf=centro+1;
  69. }
  70. }
  71. }
Saludos.
Dano
4  Programación / Programación C/C++ / Duda con punteros a char en función [lenguaje C] en: 2 Junio 2018, 01:17 am
Hola ¿como están?
En el tutorial con el que estoy re-pasando punteros hay un programa que pongo a continuación:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. char copiar(char*, const char*);
  6.  
  7. int main(void){
  8. char ptrA[80] = "Cadena a usar para el programa de ejemplo";
  9. char ptrB[80];
  10.  
  11. copiar ( ptrB, ptrA );
  12. printf ( "\n %s\n ", ptrB );
  13.  
  14. return EXIT_SUCCESS;
  15. }
  16.  
  17. char copiar ( char *destino, const char *fuente ){
  18.  
  19. while ( *fuente != '\0' ){
  20. *destino++ = *fuente++;
  21. }
  22. *destino = '\0';
  23.  
  24. return *destino;
  25. }

La duda es que la función (en el tutorial) tiene esta línea que yo quite y funciona igual, me podrían decir porque la habrán incluido, ¿tiene alguna ventaja? ,-

Código
  1. char *p = destino;

Código
  1. char copiar ( char *destino, const char *fuente ){
  2. char *p = destino;
  3.  
  4. while ( *fuente != '\0' ){
  5. *p++ = *fuente++;
  6. }
  7. *p = '\0';
  8.  
  9. return *destino;
  10. }

Dano.
5  Programación / Programación C/C++ / Imprimir una cadena con puntero sin utilizar un bucle. en: 31 Mayo 2018, 20:53 pm
Hola ¿como están? .
Tengo una dificultad en este programita que por mas que repaso manuales y busco en la web no logro dar con la tecla, mi pregunta es porque no puedo imprimir la frase invertida con un simple printf %s,

Código
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main(void){
  5. char cadena[]="Rosa y Yiyi", tmp[12]="";
  6. char *p = cadena;
  7. char *t = tmp;
  8. int i, j, lar;
  9.  
  10. printf ( "\n %s\n", p );
  11. lar = strlen(p);
  12.  
  13. for (i=lar,j=0; i>=0; i--,j++){
  14. *(t+j) = *(p+i);
  15. }
  16.  
  17. for (i=0; i<=lar; i++){
  18. printf ( "%c", *(t+i) );
  19. }
  20.  
  21. printf ( "\n" );
  22.  
  23. return 0;
  24. }

Esta parte es la que quiero reemplazar y no lo logro.
Código
  1. for (i=0; i<=lar; i++){
  2. printf ( "%c", *(t+i) );
  3. }
  4.  

Me podrían decir donde estoy fallando?

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