Article View: es.comp.os.linux.programacion
Article #7533Re: Pasar parámetros desde la línea de comandos en C
From: Pascal Bourguignon
Date: Mon, 24 Feb 2003 07:09
Date: Mon, 24 Feb 2003 07:09
60 lines
2724 bytes
2724 bytes
"Claudio S." <claudio@ningun.sitio.es> writes:
> El Sun, 23 Feb 2003 22:28:35 +0100,
> Iv�n S�nchez Ortega <arroba-wanadoo-punto-e-ese-@wanadoo.es> escribi�:
> > Zahori wrote:
> >
> >>> Pues eso, alguien me podr�a decir como recuperar los par�metros
> >>> que se le pasan al programa al hacer la llamada, desde c�digo C??
> >>
> >> Para eso tienes los par�metros argc y argv del main.
> >
> > Siempre y cuando declares main as�:
> >
> >
> > int main (int argc, *char argv)
> > {
> > }
> >
> > (si mal no recuerdo)
>
>
> Recuerdas mal, aunque por poco:
>
> int main(int argc, char *argv[])
>
> el argc= numero de argumentos pasados al programa.
> argv[][] es un array de cadenas acabadas en \0 con cada uno
> de los argumentos.
>
> Por ejemplo si llamas el programa con
>
> prog estos son los argumentos
>
> los valores ser�n:
> arcg=5
> argv[0]="prog\0"
> argv[1]="estos\0"
> argv[2]="son\0"
> argv[3]="los\0"
> argv[4]="argumentos\0"
Lo siento, pero falso.
argv[0]="prog"
argv[1]="estos"
argv[2]="son"
argv[3]="los"
argv[4]="argumentos"
es m�s correcto.
Si escrives "prog\0" entonces, tienes "prog\0"[4]==0 Y "prog\0"[5]==0,
pero solamente tenemos "prog"[4]==0, y lo m�s probable est que
"prog"[5]=='e' de "estos", o cualquier otra cosa en todo caso.
(Sin contar el argv[5]==0 mencionado por otro).
__Pascal_Bourguignon__ http://www.informatimago.com/
----------------------------------------------------------------------
There is a fault in reality. Do not adjust your minds. -- Salman Rushdie
Technical Details
Message-ID:
<87n0kmm9y3.fsf@thalassa.informatimago.com>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!fu-berlin.de!uni-berlin.de!213.220.35.225!not-for-mailReferences:
<3E58E8A7.5040506@grn.es> <1046019421.718355@seux119> <20030223212835.355.1.NOFFLE@BlackSpark.local> <slrnb5iitv.804.claudio@nntp.tralari.com>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,13750e97090b905a X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2003-02-23 23:09:31 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!fu-berlin.de!uni-berlin.de!213.220.35.225!not-for-mail From: Pascal Bourguignon <pjb@informatimago.com> Newsgroups: es.comp.os.linux.programacion Subject: Re: Pasar parámetros desde la línea de comandos en C Date: 24 Feb 2003 08:09:24 +0100 Organization: informatimago.com Lines: 60 Sender: pascal@thalassa.informatimago.com Message-ID: <87n0kmm9y3.fsf@thalassa.informatimago.com> References: <3E58E8A7.5040506@grn.es> <1046019421.718355@seux119> <20030223212835.355.1.NOFFLE@BlackSpark.local> <slrnb5iitv.804.claudio@nntp.tralari.com> NNTP-Posting-Host: 213.220.35.225 Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: fu-berlin.de 1046070569 55645235 213.220.35.225 (16 [41911]) User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2