Prob C : chaine de caractères

Fab -  
Ravachol Messages postés 568 Statut Membre -
Je dispose d'une chaine de caractères nommée date
. Comment la "remplir" avec 10/03/2004 ?
Je suposse que ce n'est pas :
date='10/03/2004'

5 réponses

mattboll
 
pourquoi ce ne serait pas ca ?
0
S@IT
 
Salut, comme ça :

char *date;
date="02/01/05";
printf("%s", date);
0
blurk Messages postés 487 Statut Membre 160
 
oui, mais cela va fonctionner seulement lors de l'initialisation
(lors de la déclaration de la variable).
pour modifier la date:
#include <string.h>
strcpy(date,"03/01/05");
attention, garder la même longueur de chaine que celle de l'initialisation.

@mattboll: parce que quand on met '=' devant un pointeur (en dehors de son initialisation), c'est pour lui attribuer une adresse, pas un contenu.

cordialement
¤
0
Ravachol Messages postés 568 Statut Membre 120
 
Salut,
D'après la norme la chaine "02/01/05" est convertie, à la compilation, en un pointeur sur le premier caractère. Cela donnera un type char *, l'exemple de S@IT est donc tout à fait valable à partir du moment ou il est placé à un niveau local, dans le main par exemple. Par contre ça ne passerait pas à un niveau global, en dehors de toute fonction où là cette forme ne peut-être utilisée que dans une initialisation.

A++

C'est pas parce qu'ils sont nombreux à avoir tort
qu'ils ont raison! (COLUCHE)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
blurk Messages postés 487 Statut Membre 160
 
absolument. et tu as raison pour les globales, il fallait le préciser.
bonne année :-)
¤
0
Ravachol Messages postés 568 Statut Membre 120
 
Bonne année à toi et à tous les participants à ce forum.

A++

C'est pas parce qu'ils sont nombreux à avoir tort
qu'ils ont raison! (COLUCHE)
0