🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #7533

Re: Pasar parámetros desde la línea de comandos en C

#7533
From: Pascal Bourguignon
Date: Mon, 24 Feb 2003 07:09
60 lines
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-mail
References: <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