Article View: es.comp.os.linux.programacion
Article #11700Re: [Solucionado]Sockets en c++
From: JamesIncope
Date: Thu, 18 Oct 2001 19:19
Date: Thu, 18 Oct 2001 19:19
55 lines
3536 bytes
3536 bytes
--------------81806D88466F330C0808CBAB
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Hemos (todos) de tener cuidado:
-sizeof: es para saber el tama�o que ocupa en memoria un dato, sea una
structura o un tipo simple (como int, char, etc...). No ocupa lo mismo un
int en un PC que en otro tipo de ordenador.
-strlen: solo sirve para conocer la longitud de lo que hay dentro de un
buffer (!ojo! desde el principio -posicion 0- hasta que encuentra un
caracter nulo -\0-). Para write y read es necesario strlen pues lo que le
indicamos es la cantidad de char que queremos leer/escribir de una tirada)
Enrique wrote:
> > al servidor y el strlen en lugar de sizeof (esto �ltimo s� que me ha
> > dejao intrigado...).
>
> A mi tambi�n me dej� algo intrigado. As� que puse esta linea antes de
> write(...)
>
> printf("sizeof user: %d strlen user: %d", sizeof user, strlen(user));
>
> Creo que no le mand�bamos el tama�o real de la cadena.
--------------81806D88466F330C0808CBAB
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Hemos (todos) de tener cuidado:
<br>-<b>sizeof</b>: es para saber el tamaño que ocupa en memoria
un dato, sea una structura o un tipo simple (como <i>int</i>, char, <i>etc</i>...).
No ocupa lo mismo un <i>int</i> en un PC que en otro tipo de ordenador.
<br>-<b>strlen</b>: solo sirve para conocer la longitud de lo que hay dentro
de un buffer (!ojo! desde el principio -posicion 0- hasta que encuentra
un caracter nulo -\0-). Para <u>write</u> y <u>read</u> es necesario <u>strlen</u>
pues lo que le indicamos es la cantidad de <i>char</i> que queremos leer/escribir
de una tirada)
<br>
<p>Enrique wrote:
<blockquote TYPE=CITE>> al servidor y el strlen en lugar de sizeof
(esto último sí que me ha
<br>> dejao intrigado...).
<p>A mi también me dejó algo intrigado. Así que puse
esta linea antes de
<br>write(...)
<p>printf("sizeof user: %d strlen user: %d", sizeof user, strlen(user));
<p>Creo que no le mandábamos el tamaño real de la cadena.</blockquote>
</html>
--------------81806D88466F330C0808CBAB--
Technical Details
Message-ID:
<3BCF2B40.6A3513FC@est.fib.upc.es>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!newsfeed.direct.ca!look.ca!newsfeed.icl.net!dispose.news.demon.net!demon!news-lond.gip.net!news.gsl.net!gip.net!easynet-melon!easynet.net!news.rediris.es!news.cesca.es!news.upc.es!not-for-mailReferences:
<9qi1if$o126k$1@ID-83805.news.dfncis.de> <9qkvua$oi9sl$1@ID-83805.news.dfncis.de> <3BCF0CD1.2DC104B2@wanadoo.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,c6402803ae6cf871 X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2001-10-18 11:19:31 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!newsfeed.direct.ca!look.ca!newsfeed.icl.net!dispose.news.demon.net!demon!news-lond.gip.net!news.gsl.net!gip.net!easynet-melon!easynet.net!news.rediris.es!news.cesca.es!news.upc.es!not-for-mail From: JamesIncope <d6522117@est.fib.upc.es> Newsgroups: es.comp.os.linux.programacion Subject: Re: [Solucionado]Sockets en c++ Date: Thu, 18 Oct 2001 20:19:28 +0100 Organization: SiroCorporation Lines: 56 Distribution: es Message-ID: <3BCF2B40.6A3513FC@est.fib.upc.es> References: <9qi1if$o126k$1@ID-83805.news.dfncis.de> <9qkvua$oi9sl$1@ID-83805.news.dfncis.de> <3BCF0CD1.2DC104B2@wanadoo.es> NNTP-Posting-Host: c6s302pc63.fib.upc.es Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="------------81806D88466F330C0808CBAB" X-Trace: defalla.upc.es 1003429175 25654 147.83.148.89 (18 Oct 2001 18:19:35 GMT) X-Complaints-To: newsmngr@upc.es NNTP-Posting-Date: 18 Oct 2001 18:19:35 GMT To: Enrique <nesii@wanadoo.es> X-Mailer: Mozilla 4.76 [en] (Win98; U) X-Accept-Language: en,es,ca