🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.lang.c
Article #15516

Re: memcpy et char

#15516
From: Alcor
Date: Sat, 24 Sep 2005 06:26
88 lines
3762 bytes
> Pour copier une chaine dans une autre chaine, j'utilise memcpy.

ben normalement, c'est strcpy.

memcpy, c'est pour un buffer de longeur fixe...

> Est ce n�cessaire d'�crire
>     memcpy(ch, c, sizeof(char) * taille);
> ou bien je peux me contenter d'�crire
>     memcpy(ch, c, taille);

ben la taille du type char n'a pas trop chang� ces trente derni�res ann�es,
je pense qu'on peut se contenter de la deuxi�me version. � moins que tu
n'envisages de faire une version unicode...

> 
> Toutes critiques sur la fonction seront les bienvenues.
> 
> Merci.
> 
> Alain CROS
> 
> #include <string.h>
> 
> int convstrnum(int taille, char *c)
> /*  Remplace, dans une chaine de caract�res repr�sentant un chiffre,
>         la virgule par un point.
>     Retourne :
>         la position de ce point dans la chaine (base 1).
>         0 si pas de point.
>         -1 si pas un chiffre (la chaine reste inchang�e).
> */
> {
>     int i = 1, j = 0, k = 0;
>     char ch[taille + 1];
>     char *pch = ch;
>     memcpy(ch, c, sizeof(char) * taille);
>     ch[taille] = '\0';
>     while(*pch != '\0')
>     {
>         if((*pch < '0') || (*pch > '9'))
>             switch(*pch)
>             {
>                 case '.':
>                     j = (++k == 2) ? -1 : j;
>                     break;
>                 case ',':
>                     *pch-- = '.';
>                     j = i--;
>                     break;
>                 default:
>                     j = -1;
>             }
>         if(j == -1)
>             break;
>         *pch++;
>         i++;
>     }
>     if(j != -1)
>         memcpy(c, ch, sizeof(char) * taille);
>     return(j);
> }

ben si tu n'as pas besoin de super performances, je suppose que �a va
marcher.

sinon les noms de variable sur une lettre c'�tait bon dans les ann�es 80,
depuis on a d�couvert que c'�tait super chiant � relire on mettra plutot
des
	InputString
	CurrentLocation
	ReturnCode
� la place.

de plus en C, on a l'habitude de raisoner en base 0. tu viens du basic ?

mais l'intention est bonne. je pense que dans 6 mois � deux ans tu
revisitera cette fonction et qu'elle tiendra sur 3 lignes...

par exemple, as-tu vraiement besoin d'un code de retour si d�taill� ? ton
programme principal exploite-t-il vraiment toutes les nuances?


_______________________________________________________________________________
Posted Via Uncensored-News.Com - Accounts Starting At $6.95 - http://www.uncensored-news.com
               <><><><><><><>   The Worlds Uncensored News Source   <><><><><><><><>
  
Technical Details
Message-ID: <01c5c0d0$d428c760$6801a8c0@ramislap>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!nx01.iad01.newshosting.com!newshosting.com!meganewsservers.com!feeder2.on.meganewsservers.com!newsfeed.telusplanet.net!newsfeed.telus.net!cyclone.bc.net!news.alt.net!feed.uncensored-news.com!news.uncensored-news.com!news.uncensored-news.com!not-for-mail
References: <4333e995$0$17469$626a14ce@news.free.fr>

Show Full Headers
Complete Article Headers
X-Google-Thread: f9822,366ad66ae342f8da
X-Google-Attributes: gidf9822,public
X-Google-Language: FRENCH,ASCII
From: "Alcor" <Alcor@aol.com>
Subject: Re: memcpy et char
Newsgroups: fr.comp.lang.c
References: <4333e995$0$17469$626a14ce@news.free.fr>
Message-ID: <01c5c0d0$d428c760$6801a8c0@ramislap>
X-Newsreader: Microsoft Internet News 4.70.1155
NNTP-Posting-Host: news.uncensored-news.com
Lines: 88
X-Comment: NOTICE: Uncensored-News.Com does not condone, nor support, spam, illegal or copyrighted postings.
X-Report-Abuse-To: http://www.uncensored-news.com/terms.html#13
X-T.O.S.: http://www.uncensored-news.com/terms.html
Date: 24 Sep 2005 06:26:34 GMT
Organization: Uncensored-News.Com $6.95 Uncensored Newsgroups.
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!nx01.iad01.newshosting.com!newshosting.com!meganewsservers.com!feeder2.on.meganewsservers.com!newsfeed.telusplanet.net!newsfeed.telus.net!cyclone.bc.net!news.alt.net!feed.uncensored-news.com!news.uncensored-news.com!news.uncensored-news.com!not-for-mail