caractere en langage c

caractere en langage c - C - Programmation

Marsh Posté le 10-11-2003 à 14:31:38    

Bonjour,
ma question est assez simple mais reste sans reponse depuis 1h30 que je cherche(merci google).
Enfin en dernier recour je voulais savoir comment initialiser un caractere a vide en langage c.
ce n'est pas NULL ni "" ni '' ni 0 ca fonctione avec -1 mais du cout mon programme n'est pas portable puisque suivant les compilateurs le type char est signé ou non.
merci d'avance pour votre aide

Reply

Marsh Posté le 10-11-2003 à 14:31:38   

Reply

Marsh Posté le 10-11-2003 à 14:32:28    

[:opus dei]
 
comprends rien [:xfred4]


Message édité par chrisbk le 10-11-2003 à 14:32:43
Reply

Marsh Posté le 10-11-2003 à 14:34:03    

Ca veut dire quoi initialiser un caractere a vide?
Tu peux initialiser une chaine comme etant la chaine vide: ""
Mais la notion de caractere vide n'a pas de sens.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 10-11-2003 à 14:48:34    

Code :
  1. chaine[0]='\0';


 
voire même plus violent:
 

Code :
  1. memset( chaine, 0, taille );


Reply

Marsh Posté le 10-11-2003 à 15:13:46    

Ca c'est des initialisations de chaine...
Or il parle d'une initialisation de caractere.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 10-11-2003 à 15:41:52    

Vide, ça peut-être une histoire de convention (définir ce qu'on entend par là, quelle valeur est "sacrifiée" pour ça).
Dans un caractère non signé de 8 bits, y a 0 à 255.
 
Si on attend réponse de clavier, tant que rien tapé, le buffer est vide.
 
Faudrait préciser le besoin (chaîne, oui, caractère bof).
 
Y a bien les codes de commandes du DOS ( valeur < 32) ( http://www.asciitable.com/ ) NULL est le caractère null ('\0').

Reply

Marsh Posté le 10-11-2003 à 17:26:45    

char c = '\0'; // pour un caractère
char string[8] = "\0"; // pour une chaine

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed