Quesion simpliste certes mais c le debut.
Est il possible d'allouer le resulta de strtok("Bonjour Monsieur"," ") a
une
variable ou a un tableua
De cette facon je decompose ma phrase .
Si oui comment
svp
Quesion simpliste certes mais c le debut.
Est il possible d'allouer le resulta de strtok("Bonjour Monsieur"," ") a
une
variable ou a un tableua
De cette facon je decompose ma phrase .
Si oui comment
svp
Quesion simpliste certes mais c le debut.
Est il possible d'allouer le resulta de strtok("Bonjour Monsieur"," ") a
une
variable ou a un tableua
De cette facon je decompose ma phrase .
Si oui comment
svp
Joemanix wrote on 21/10/04 :Quesion simpliste certes mais c le debut.
Est il possible d'allouer le resulta de strtok("Bonjour Monsieur"," ") a
Non, car la chaine doit être modifiable (tableau de char).une
variable ou a un tableua
De cette facon je decompose ma phrase .
Si oui comment
svp
Exemple tiré de Borland C 3.1:
#include <string.h>
#include <stdio.h>
int main(void)
{
char input[16] = "abc,d";
char *p;
/* strtok places a NULL terminator
in front of the token, if found */
p = strtok(input, ",");
if (p) printf("%sn", p);
/* A second call to strtok using a NULL
as the first parameter returns a pointer
to the character following the token */
p = strtok(NULL, ",");
if (p) printf("%sn", p);
return 0;
}
Ceci-dit, strtok() utilisant une variable interne statique (pour
stocker la valeur courante du pointeur), elle est non-reentrante, et
par conséquend introduit des précautions d'emploi qui peuvent conduire
à ne pas pouvoir l'utiliser dans certains cas (appels imbriqués,
récursion, multitâche préemptif...)
Il existe une alternative Posix : strtok_r(). (r comme reentrant)
--
Emmanuel
The C-FAQ: http://www.eskimo.com/~scs/C-faq/faq.html
The C-library: http://www.dinkumware.com/refxc.html
"C is a sharp tool"
Joemanix wrote on 21/10/04 :
Quesion simpliste certes mais c le debut.
Est il possible d'allouer le resulta de strtok("Bonjour Monsieur"," ") a
Non, car la chaine doit être modifiable (tableau de char).
une
variable ou a un tableua
De cette facon je decompose ma phrase .
Si oui comment
svp
Exemple tiré de Borland C 3.1:
#include <string.h>
#include <stdio.h>
int main(void)
{
char input[16] = "abc,d";
char *p;
/* strtok places a NULL terminator
in front of the token, if found */
p = strtok(input, ",");
if (p) printf("%sn", p);
/* A second call to strtok using a NULL
as the first parameter returns a pointer
to the character following the token */
p = strtok(NULL, ",");
if (p) printf("%sn", p);
return 0;
}
Ceci-dit, strtok() utilisant une variable interne statique (pour
stocker la valeur courante du pointeur), elle est non-reentrante, et
par conséquend introduit des précautions d'emploi qui peuvent conduire
à ne pas pouvoir l'utiliser dans certains cas (appels imbriqués,
récursion, multitâche préemptif...)
Il existe une alternative Posix : strtok_r(). (r comme reentrant)
--
Emmanuel
The C-FAQ: http://www.eskimo.com/~scs/C-faq/faq.html
The C-library: http://www.dinkumware.com/refxc.html
"C is a sharp tool"
Joemanix wrote on 21/10/04 :Quesion simpliste certes mais c le debut.
Est il possible d'allouer le resulta de strtok("Bonjour Monsieur"," ") a
Non, car la chaine doit être modifiable (tableau de char).une
variable ou a un tableua
De cette facon je decompose ma phrase .
Si oui comment
svp
Exemple tiré de Borland C 3.1:
#include <string.h>
#include <stdio.h>
int main(void)
{
char input[16] = "abc,d";
char *p;
/* strtok places a NULL terminator
in front of the token, if found */
p = strtok(input, ",");
if (p) printf("%sn", p);
/* A second call to strtok using a NULL
as the first parameter returns a pointer
to the character following the token */
p = strtok(NULL, ",");
if (p) printf("%sn", p);
return 0;
}
Ceci-dit, strtok() utilisant une variable interne statique (pour
stocker la valeur courante du pointeur), elle est non-reentrante, et
par conséquend introduit des précautions d'emploi qui peuvent conduire
à ne pas pouvoir l'utiliser dans certains cas (appels imbriqués,
récursion, multitâche préemptif...)
Il existe une alternative Posix : strtok_r(). (r comme reentrant)
--
Emmanuel
The C-FAQ: http://www.eskimo.com/~scs/C-faq/faq.html
The C-library: http://www.dinkumware.com/refxc.html
"C is a sharp tool"
int main(void)
{
char input[16] = "abc,d";
char *p;
/* strtok places a NULL terminator
in front of the token, if found */
p = strtok(input, ",");
if (p) printf("%sn", p);
/* A second call to strtok using a NULL
as the first parameter returns a pointer
to the character following the token */
p = strtok(NULL, ",");
if (p) printf("%sn", p);
return 0;
}
Ceci-dit, strtok() utilisant une variable interne statique (pour
stocker la valeur courante du pointeur), elle est non-reentrante, et
par conséquend introduit des précautions d'emploi qui peuvent conduire
à ne pas pouvoir l'utiliser dans certains cas (appels imbriqués,
récursion, multitâche préemptif...)
Il existe une alternative Posix : strtok_r(). (r comme reentrant)
int main(void)
{
char input[16] = "abc,d";
char *p;
/* strtok places a NULL terminator
in front of the token, if found */
p = strtok(input, ",");
if (p) printf("%sn", p);
/* A second call to strtok using a NULL
as the first parameter returns a pointer
to the character following the token */
p = strtok(NULL, ",");
if (p) printf("%sn", p);
return 0;
}
Ceci-dit, strtok() utilisant une variable interne statique (pour
stocker la valeur courante du pointeur), elle est non-reentrante, et
par conséquend introduit des précautions d'emploi qui peuvent conduire
à ne pas pouvoir l'utiliser dans certains cas (appels imbriqués,
récursion, multitâche préemptif...)
Il existe une alternative Posix : strtok_r(). (r comme reentrant)
int main(void)
{
char input[16] = "abc,d";
char *p;
/* strtok places a NULL terminator
in front of the token, if found */
p = strtok(input, ",");
if (p) printf("%sn", p);
/* A second call to strtok using a NULL
as the first parameter returns a pointer
to the character following the token */
p = strtok(NULL, ",");
if (p) printf("%sn", p);
return 0;
}
Ceci-dit, strtok() utilisant une variable interne statique (pour
stocker la valeur courante du pointeur), elle est non-reentrante, et
par conséquend introduit des précautions d'emploi qui peuvent conduire
à ne pas pouvoir l'utiliser dans certains cas (appels imbriqués,
récursion, multitâche préemptif...)
Il existe une alternative Posix : strtok_r(). (r comme reentrant)
NEVER USE STRTOK !
Ceci-dit, strtok() utilisant une variable interne statique (pour
stocker la valeur courante du pointeur), elle est non-reentrante, et
par conséquend introduit des précautions d'emploi qui peuvent conduire
à ne pas pouvoir l'utiliser dans certains cas (appels imbriqués,
récursion, multitâche préemptif...)
NEVER USE STRTOK !
Ceci-dit, strtok() utilisant une variable interne statique (pour
stocker la valeur courante du pointeur), elle est non-reentrante, et
par conséquend introduit des précautions d'emploi qui peuvent conduire
à ne pas pouvoir l'utiliser dans certains cas (appels imbriqués,
récursion, multitâche préemptif...)
NEVER USE STRTOK !
Ceci-dit, strtok() utilisant une variable interne statique (pour
stocker la valeur courante du pointeur), elle est non-reentrante, et
par conséquend introduit des précautions d'emploi qui peuvent conduire
à ne pas pouvoir l'utiliser dans certains cas (appels imbriqués,
récursion, multitâche préemptif...)
Charlie Gordon wrote on 22/10/04 :NEVER USE STRTOK !
Quand je me permettais de donner ce genre d'avis, on me traitait
d'intégriste. Maintenant, je dis la même chose, mais sous une apparence
plus nuancée, ça passe mieux, apparament... On vit dans un monde
d'image et d'apparence, il faut faire avec...
Charlie Gordon wrote on 22/10/04 :
NEVER USE STRTOK !
Quand je me permettais de donner ce genre d'avis, on me traitait
d'intégriste. Maintenant, je dis la même chose, mais sous une apparence
plus nuancée, ça passe mieux, apparament... On vit dans un monde
d'image et d'apparence, il faut faire avec...
Charlie Gordon wrote on 22/10/04 :NEVER USE STRTOK !
Quand je me permettais de donner ce genre d'avis, on me traitait
d'intégriste. Maintenant, je dis la même chose, mais sous une apparence
plus nuancée, ça passe mieux, apparament... On vit dans un monde
d'image et d'apparence, il faut faire avec...
Quesion simpliste certes mais c le debut.
Est il possible d'allouer le resulta de strtok("Bonjour Monsieur"," ") a une
variable ou a un tableua
De cette facon je decompose ma phrase .
Si oui comment
char texte[] = "Je suis le ténébreux le veuf l'inconsolé";
Quesion simpliste certes mais c le debut.
Est il possible d'allouer le resulta de strtok("Bonjour Monsieur"," ") a une
variable ou a un tableua
De cette facon je decompose ma phrase .
Si oui comment
char texte[] = "Je suis le ténébreux le veuf l'inconsolé";
Quesion simpliste certes mais c le debut.
Est il possible d'allouer le resulta de strtok("Bonjour Monsieur"," ") a une
variable ou a un tableua
De cette facon je decompose ma phrase .
Si oui comment
char texte[] = "Je suis le ténébreux le veuf l'inconsolé";
In article , Emmanuel Delahaye
wrote:
Charlie Gordon wrote on 22/10/04 :NEVER USE STRTOK !
Quand je me permettais de donner ce genre d'avis, on me traitait
d'intégriste. Maintenant, je dis la même chose, mais sous une apparence
plus nuancée, ça passe mieux, apparament... On vit dans un monde
d'image et d'apparence, il faut faire avec...
Il y a AMHA deux classes distinctes d'avis:
- l'avis argumenté, dont l'acceptation dépend de la qualité des
arguments ;
- l'avis non argumenté, dit aussi "argument d'autorité" dont
l'acceptation dépend du capital confiance de l'orateur
face au public.
In article <mn.b3607d4a601bc0da.15512@YOURBRAnoos.fr>, Emmanuel Delahaye
wrote:
Charlie Gordon wrote on 22/10/04 :
NEVER USE STRTOK !
Quand je me permettais de donner ce genre d'avis, on me traitait
d'intégriste. Maintenant, je dis la même chose, mais sous une apparence
plus nuancée, ça passe mieux, apparament... On vit dans un monde
d'image et d'apparence, il faut faire avec...
Il y a AMHA deux classes distinctes d'avis:
- l'avis argumenté, dont l'acceptation dépend de la qualité des
arguments ;
- l'avis non argumenté, dit aussi "argument d'autorité" dont
l'acceptation dépend du capital confiance de l'orateur
face au public.
In article , Emmanuel Delahaye
wrote:
Charlie Gordon wrote on 22/10/04 :NEVER USE STRTOK !
Quand je me permettais de donner ce genre d'avis, on me traitait
d'intégriste. Maintenant, je dis la même chose, mais sous une apparence
plus nuancée, ça passe mieux, apparament... On vit dans un monde
d'image et d'apparence, il faut faire avec...
Il y a AMHA deux classes distinctes d'avis:
- l'avis argumenté, dont l'acceptation dépend de la qualité des
arguments ;
- l'avis non argumenté, dit aussi "argument d'autorité" dont
l'acceptation dépend du capital confiance de l'orateur
face au public.
PS: soyons clairs : NEVER USE STRNCPY EITHER, NOR STRNCAT, NOR GETS.
PS: soyons clairs : NEVER USE STRNCPY EITHER, NOR STRNCAT, NOR GETS.
PS: soyons clairs : NEVER USE STRNCPY EITHER, NOR STRNCAT, NOR GETS.
Et pour gets, je ne vous comprend pas ... Quoique je n'utilise que fgets,
mais c'est la même chose non ? gets(str) ne correspond-elle pas à
fgets(stdin, str) ?
Ah oui il faut bien sûr que str soit suffisamment
allouée, mais bon si vous ne voulez pas faire votre travail de gestion de la
mémoire, n'utilisez donc aucune fonction de manipulation de chaîne ...
Et pour gets, je ne vous comprend pas ... Quoique je n'utilise que fgets,
mais c'est la même chose non ? gets(str) ne correspond-elle pas à
fgets(stdin, str) ?
Ah oui il faut bien sûr que str soit suffisamment
allouée, mais bon si vous ne voulez pas faire votre travail de gestion de la
mémoire, n'utilisez donc aucune fonction de manipulation de chaîne ...
Et pour gets, je ne vous comprend pas ... Quoique je n'utilise que fgets,
mais c'est la même chose non ? gets(str) ne correspond-elle pas à
fgets(stdin, str) ?
Ah oui il faut bien sûr que str soit suffisamment
allouée, mais bon si vous ne voulez pas faire votre travail de gestion de la
mémoire, n'utilisez donc aucune fonction de manipulation de chaîne ...