Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: ankora45 en 30 Octubre 2012, 18:04 pm



Título: eliminar caracteres
Publicado por: ankora45 en 30 Octubre 2012, 18:04 pm
Hola veran quiero eliminar el primer y ultimo caracter de una cadena por ejemplo:

entrada: hola
salida: ol

se como quitar el ultimo pero no el primero:
Código
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <string>
  5. #include <iostream>
  6.  
  7.  
  8. int main()
  9. {
  10.  char cadena[20];
  11.  printf("introduzca la cadena\n");
  12.  std::cin>>cadena;
  13.  int i = strlen(cadena) - 1;
  14.  cadena[i] = '\0';
  15.  printf("%s\n", cadena);
  16.  return 0;
  17. }

ayudenme porfavor

PD: en c xD me da = usar std::


Título: Re: eliminar caracteres
Publicado por: avesudra en 30 Octubre 2012, 18:10 pm
Pues avanzas en uno el puntero de la cadena , así se come el primer carácter  ;D
Código
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <string>
  5. #include <iostream>
  6.  
  7.  
  8. int main()
  9. {
  10.  char cadena[20];
  11.  printf("introduzca la cadena\n");
  12.  std::cin>>cadena;
  13.  int i = strlen(cadena) - 1;
  14.  cadena[i] = '\0';
  15.  printf("%s\n", cadena+1);// <===== AQUÍ
  16.  return 0;
  17. }