Imprimer une partie d une chaine de caracteres

Imprimer une partie d une chaine de caracteres - C++ - Programmation

Marsh Posté le 13-05-2003 à 10:38:36    

j ai une chaine  
 
char *chaine
 
de longueur variable...
 
selon sa longueur, je dois l afficher sur plusieurs lignes...
 
est-il possible d acceder a des parties de cette chaine?
genre le caractere numero 4 ou
meme a deux ou trois caracteres...
 
puis-je utiliser la notation tableau?


---------------
Les accents sont en option... j'ai un clavier qwertz.
Reply

Marsh Posté le 13-05-2003 à 10:38:36   

Reply

Marsh Posté le 13-05-2003 à 10:41:44    

il me semble que oui, tu peux faire chaine[x] avec 0 <= x < longueur de la chaîne

Reply

Marsh Posté le 13-05-2003 à 10:44:02    

alors
 
je peux declarer  
 
char *code ;
 
et apres faire
 
printf ("%s", code [3]);


---------------
Les accents sont en option... j'ai un clavier qwertz.
Reply

Marsh Posté le 13-05-2003 à 10:45:50    

Citation :

puis-je utiliser la notation tableau?


 
ben un char * c'est deja un tableau de char avant d'etre une chaine hein ?

Reply

Marsh Posté le 13-05-2003 à 11:03:38    

chrisbk a écrit :

Citation :

puis-je utiliser la notation tableau?


 
ben un char * c'est deja un tableau de char avant d'etre une chaine hein ?
 


Si ++taz passe par là il va taper!:D

Reply

Marsh Posté le 13-05-2003 à 11:04:32    

skeye a écrit :


Si ++taz passe par là il va taper!:D
 


 
[:titprem]

Reply

Marsh Posté le 13-05-2003 à 11:09:49    

Theorie du chaos a écrit :

alors
 
je peux declarer  
 
char *code ;
 
et apres faire
 
printf ("%s", code [3]);


 
c'est pas %s à ce moment la, c'est %c....

Reply

Marsh Posté le 13-05-2003 à 11:20:42    

backdafuckup a écrit :


 
c'est pas %s à ce moment la, c'est %c....


 
:heink: %c, ca va afficher un seul caractère ...
%s, ca affichera jusqu'au \0, quel que soit le numéro d'où on part ...
 
Si tu veux découper ton texte pour pouvoir l'afficher en plusieurs fois, à mon avis, tu dois découper ta chaine ... (peut-être qu'il existe des options de format avancées pour ca ... man ... :D)


---------------
last.fm
Reply

Marsh Posté le 13-05-2003 à 11:24:49    

theShOcKwAvE a écrit :


 
:heink: %c, ca va afficher un seul caractère ...
%s, ca affichera jusqu'au \0, quel que soit le numéro d'où on part ...
 
Si tu veux découper ton texte pour pouvoir l'afficher en plusieurs fois, à mon avis, tu dois découper ta chaine ... (peut-être qu'il existe des options de format avancées pour ca ... man ... :D)


 
si tu fais  
 
printf("chaine : %s",chaine[5]);
 
t'auras toute la chaine à partir du caractère n° 6 ??
 
Je savais pas ca... Je dormirais moins con ce soir, merci...

Reply

Marsh Posté le 13-05-2003 à 11:27:54    

backdafuckup a écrit :


 
si tu fais  
 
printf("chaine : %s",chaine[5]);
 
t'auras toute la chaine à partir du caractère n° 6 ??
 
Je savais pas ca... Je dormirais moins con ce soir, merci...


 
printf("chaine : %s",&chaine[5]);
ca marchera mieux ... :D
 
Edit : balises ...


Message édité par theshockwave le 13-05-2003 à 11:28:22

---------------
last.fm
Reply

Marsh Posté le 13-05-2003 à 11:27:54   

Reply

Marsh Posté le 13-05-2003 à 11:29:49    

pourquoi l'adresse :heink: ?

Reply

Marsh Posté le 13-05-2003 à 11:33:28    

backdafuckup a écrit :

pourquoi l'adresse :heink: ?


 
sinon c un char, pas un char *
 
perso j'aurais fait tab+5 mais bon...

Reply

Marsh Posté le 13-05-2003 à 11:37:28    

Oui, mais bon, vous acharnez pas sur moi, c'est pas moi l'auteur du topic hein....

Reply

Marsh Posté le 13-05-2003 à 11:44:59    

chrisbk a écrit :


 
sinon c un char, pas un char *
 
perso j'aurais fait tab+5 mais bon...


 
Effectivement, c'est une solution préférable ...


---------------
last.fm
Reply

Marsh Posté le 13-05-2003 à 11:50:27    

il pu l'erreur de segmentation ce topic :whistle:

Reply

Marsh Posté le 13-05-2003 à 11:56:51    

++Taz a écrit :

il pu l'erreur de segmentation ce topic :whistle:  


C'est sur qu'ajouter des constantes comme des brutes à un pointeur, c'est risqué, mais ce n'étaient là que des exemples ... :whistle:
 
C'est vrai que si on dépasse le \0 de fin de chaine, ca va pas être joli à voir ... :D


---------------
last.fm
Reply

Marsh Posté le 13-05-2003 à 11:59:29    

theShOcKwAvE a écrit :


C'est sur qu'ajouter des constantes comme des brutes à un pointeur, c'est risqué, mais ce n'étaient là que des exemples ... :whistle:
 
C'est vrai que si on dépasse le \0 de fin de chaine, ca va pas être joli à voir ... :D


Tant qu'on n'écrit pas dedans, y'a moindre mal :D

Reply

Marsh Posté le 13-05-2003 à 12:07:06    

MagicBuzz a écrit :


Tant qu'on n'écrit pas dedans, y'a moindre mal :D


 
 
heuuuuu ... :whistle: ...
 
:pfff:


---------------
last.fm
Reply

Marsh Posté le 13-05-2003 à 17:34:08    

drapal, je veux un screenshot pour l'acces vio :p

Reply

Marsh Posté le 13-05-2003 à 18:01:36    

ToxicAvenger a écrit :

drapal, je veux un screenshot pour l'acces vio :p


 
suffit de saturer la ram avec des éléments non nuls avec des allocations précédentes et de mettre ton pointeur n'importe où là dedans et ca devrait faire un segfault (au pire qd ca fera un dépassement de capacité pour retomber sur NULL ...)
 
Enfin ... C'est supposé et j'ai pas vraiment de temps à perdre pour tester ca ...


---------------
last.fm
Reply

Marsh Posté le 13-05-2003 à 18:11:29    

je l avais je l ai pu desolee :d
 
mais je sens qu il reviendra :evil:


---------------
Les accents sont en option... j'ai un clavier qwertz.
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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