Questions en c

Questions en c - C++ - Programmation

Marsh Posté le 19-01-2003 à 16:53:06    

En langage C, c'est quoi la différence entre '\n' (retour à la ligne) et '\0'
 

Reply

Marsh Posté le 19-01-2003 à 16:53:06   

Reply

Marsh Posté le 19-01-2003 à 17:04:39    

\n, c'est le retour à la ligne, \0 c'est un caractère spécial qui sert à marquer la fin de la chaîne.
Par exemple, une chaîne de caractères représentant 2 lignes pourra s'écrire :
aaa\nbbb\0

Reply

Marsh Posté le 19-01-2003 à 17:15:45    

Qqun connait une méthode pour travailler sur des chaines avec cette méthode :
 
Soit un char *[]
"aaaa!bbbb!"
 
Je voudrai récuperer aaaa et bbbb

Reply

Marsh Posté le 19-01-2003 à 17:21:26    

Avec la fonction strtok (entre autres) tu peux faire ça


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 19-01-2003 à 17:25:53    

ça existe ça en C ??? c aps plutot du PHP ?

Reply

Marsh Posté le 19-01-2003 à 17:31:49    

Je sais pas si ça existe en PHP mais je suis sûr que ça existe en C :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 19-01-2003 à 17:46:51    

Ok ça marche !!!
 
Et derniere question bete ...
Comment on converti deja une chaine de caractere en int ?
 
Pour moi ça fait loin le langage C .....

Reply

Marsh Posté le 19-01-2003 à 17:51:42    

atoi ou plus généralement sscanf plus sure a mon sens

Reply

Marsh Posté le 19-01-2003 à 17:52:10    

et l'inverse int en chaine de caractere
 
Merci

Reply

Marsh Posté le 19-01-2003 à 17:52:33    

sprintf
 
bien sur le meiux est d'utilsier snprintf et snscanf


Message édité par Taz le 19-01-2003 à 17:53:55
Reply

Marsh Posté le 19-01-2003 à 17:52:33   

Reply

Marsh Posté le 19-01-2003 à 18:06:59    

Mais ce sont des fonctions qui lisent les arguments "au clavier". ?!?
 
Ya rien d'autre ...?

Reply

Marsh Posté le 19-01-2003 à 18:13:27    

:pfff: tu veux que j'épelles?

Reply

Marsh Posté le 19-01-2003 à 18:20:30    

++Taz a écrit :

:pfff: tu veux que j'épelles?


 
:lol:
 
non c vrai ecoute le ces fonctions servent aussi a ca ;)


---------------
Signatures aux choix Votez:  O - Le python c'est bon, mangez-en  O - L'abus de forum rend dependant, postez avec modération
Reply

Marsh Posté le 19-01-2003 à 18:40:01    

Ok ok je suis nul en C ... :cry:  
 
Mais bon ...
 
Donc en résumé si je fais
 
int i2;
char *p;
...
p="12";
sscanf(p,&i2)
 
ça devrais marcher ?

Reply

Marsh Posté le 19-01-2003 à 18:49:08    

presque, j'ai pas de man en francais sous la main. ca s'emploie comme printf et scanf (sans deconner, je croyais que tu l'avais compris)
 
int sscanf( const char *str, const char *format, ...);
 
donc sscanf(p, "%d", &i);

Reply

Marsh Posté le 19-01-2003 à 18:51:03    

Ahhhhhhhhhh Ok !
 
Thanks ! :jap:

Reply

Marsh Posté le 19-01-2003 à 20:24:33    

Pour  
char *p;
...
p="12";
 
ne pas oublier de réserver la mémoire adhoc pour p, sinon bugg pas toujours visible à effet bizarre/prise de tête.

Reply

Marsh Posté le 19-01-2003 à 20:26:05    

je ne vois pas de problèmes pour l'exemple donné.

Reply

Marsh Posté le 19-01-2003 à 20:52:04    

En effet
Mais si tu réserves de la mémoire pour p et qu'ensuite tu lui assigne l'adresse de la chaîne constante "12", la zone mémoire n'est plus référencée nulle part :o


Message édité par antp le 19-01-2003 à 20:54:57

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 19-01-2003 à 20:53:09    

antp a écrit :

En effet
si tu réserves de la mémoire pour p et qu'ensuite tu lui assigne l'adresse de la chaîne constante "12", la zone mémoire n'est plus référencée nulle part :o

il manque un "mais" dans ta réponse

Reply

Marsh Posté le 19-01-2003 à 20:54:35    

Bah il ne me semble pas obligatoire, mais c'est vrai que ça rendrait la phrase plus clair :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 19-01-2003 à 20:56:26    

c'est comme parler sans consonnes... on om en u ien  :D

Reply

Marsh Posté le 23-01-2003 à 03:36:25    

CARBON_14 a écrit :

Pour  
char *p;
...
p="12";
 
ne pas oublier de réserver la mémoire adhoc pour p, sinon bugg pas toujours visible à effet bizarre/prise de tête.

Aucun problème... à condition de ne pas écrire via le pointeur.
Mais pourquoi faire compliqué ?

Code :
  1. const char *p= "12";
  2. char a[]= "12"; //taille 3 implicite


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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