Foros del Web » Programación para mayores de 30 ;) » C/C++ »

argv y cadenas de caracteres

Estas en el tema de argv y cadenas de caracteres en el foro de C/C++ en Foros del Web. Hola! les expongo mi código para analizar el problema: Código PHP: #include <iostream> #include <string.h> using namespace std ; int main ( int argc ,  char  * argv []) {    ...
  #1 (permalink)  
Antiguo 16/04/2009, 11:16
boli-sp
Invitado
 
Mensajes: n/a
Puntos:
argv y cadenas de caracteres

Hola!

les expongo mi código para analizar el problema:

Código PHP:
#include <iostream>
#include <string.h>

using namespace std;

int main(int argcchar *argv[])
{
  
int longitudi;

  
cout << argc << endl;
  
longitud=strlen(argv[2]); //calculamos la longitud del segundo argumento
  
for(i=0i<longitudi++)
    {
      if(
isdigit(argv[2][i])==0)
    
cout << argv[2][i] << " es una letra" << endl;
      else
    
cout << argv[2][i] << " es un numero" << endl;
    }  

  return 
0;

Bien, es un código sencillo para saber si el segundo argumento que se introduce por línea de comandos son todo numeros.

El problema es que al compilar ningún problema y al ejecutar "Fallo de Segmentacion".

Alguien sabe de que puede ser?
  #2 (permalink)  
Antiguo 17/04/2009, 16:16
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: argv y cadenas de caracteres

Accedes a memoria indefinida ... no comprobas que sea valido argv[2] para empezar, si no te pasan parametros solo sera valido argv[0], si te pasan un parametro argv[1] y etc. Comproba que argc no sea menor a 2 (siempre en argv[0] esta el nombre del programa y argc es al menos 1) y usa argv[1] si queres trabajar con el primer parametro.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:00.