Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : affichage 3 premiers caractere [ Algorithme / Maths ] (OTHKREEN)

dimanche 13 mai 2007 à 00:47:44 | affichage 3 premiers caractere

OTHKREEN

bonjour a tous,

je suis en train d'ecrire une petite fonction en C qui affiche les 3 premiers caracteres des chaine de caracteres (sans un utiliser des fonctions  de la bibliotheque string.h) contenu dans un tableau statique.

voici la déclaration:  char* jour[7].    ainsi,    jour[0]="lundi", jour[1]="mardi"...

au lieu d'afficher lundi, mardi, mercdri.... dimanche. je voudrais afficher  lun, mar....dim

mais j'arrive pas.  lorsque j'execute lpar exemple l'instruction printf("%s", jour[6]+3), il efface plutot les 3 premiers carcarteres pour m'affcicher "anche"

pouvez vous m'aider?

merci d'avance

dimanche 13 mai 2007 à 01:13:16 | Re : affichage 3 premiers caractere

maladedede

Membre Club

#include <stdio.h>
#include <windows.h>

char* jour[7];

int main(void)
{
       jour[0]="lundi";
       jour[1]="mardi";
       jour[2]="mercredi";
       jour[3]="jeudi";
       jour[4]="vendredi";
       jour[5]="samedi";
       jour[6]="dimance";
 
       printf("%c%c%c", jour[6][0], jour[6][1], jour[6][2]);
 
       Sleep(100000);
}


1/1MaLaDeDeDe 97one1/1 


dimanche 13 mai 2007 à 01:33:35 | Re : affichage 3 premiers caractere

maladedede

Membre Club
printf("%s", jour[6]+3), c'est comme si tu avais écrit printf("%s", jour[6][3]).

1/1MaLaDeDeDe 97one1/1 


dimanche 13 mai 2007 à 01:54:39 | Re : affichage 3 premiers caractere

NitRic

/* autre alternative */

#include

<stdio.h> /* printf() */

/* optionnel */
#define
DIMANCHE   0
#define LUNDI             1
#define MARDI           2
#define MERCREDI    3
#define JEUDI              4
#define VENDREDI     5
#define SAMEDI         6

/* pourrait être dynamique pour différentes langues */
static
struct
{
    const char * nomLong;
    const char * nomCourt;
}jours[
/* 0-6 */ ] =
    {
        {
"dimanche" , "dim" },
        {
"lundi" , "lun" },
        {
"mardi" , "mar" },
        {
"mercredi" , "mer" },
        {
"jeudi" , "jeu" },
        {
"vendredi" , "ven" },
        {
"samedi" , "sam" }
    };

/* pas vraiment utile puisqu'il y a toujours 7 jours dans une semaine  =_= */
#define
NOMBRE_DE_JOUR  ( sizeof (jours) / sizeof (jours[ 0 ]))

int
main()
{
    int i;

    for
(i = 0; i < NOMBRE_DE_JOUR; i++)
    {
        printf(
"%d) %s (%s)\n" , i, jours[ i ].nomLong, jours[ i ].nomCourt);
    }
    printf(
"\n%s\n" , jours[ MERCREDI ].nomLong);

    return
0;
}
je crois que c'est assez clair, pas la peine de commenter?

pour maladededadedido.... moi j'irais plutôt avec un « const char* jours[7] = {..., ..., ...}; » ou un « const char* jours[] = {...}; », etc. peu importe ... assignation dès la déclaration, et constant ...

printf("%s", jour[6]+3) << en fait ce que tu fais c'est que tu te déplaces de 3 casses vers la droite, donc tu sautes les trois premiers caractères, ton « jour[6] » est une chaine « char* »

char* chaine = "dimanche";
puts(chaine + 3); /* affiche: anche */

et c'est normal puisque tu demandes d'aller 3 casses vers la droite ... (une chaine de caractères est une « suite » de caractères)

chaine[0] = 'd'
chaine[1] = 'i'
chaine[2] = 'm'
chaine[3] = ???
...

*(chaine+3) == chaine[3] == 'a'

~(.:: NitRic ::.)~

dimanche 13 mai 2007 à 01:58:04 | Re : affichage 3 premiers caractere

maladedede

Membre Club
ok pas mal ton code :)

1/1MaLaDeDeDe 97one1/1 


dimanche 13 mai 2007 à 05:54:12 | Re : affichage 3 premiers caractere

OTHKREEN


merci pour le code, il m'a permis de comprendre quelques notions.



Cette discussion est classé dans : caractere, caracteres, jour, affichage, premiers


Répondre à ce message

Sujets en rapport avec ce message

chaine de caractere de taille variable [ par habibdu70 ] slt,savez vous comment modifier la taille d'une chaine de caractere ?par exemple si le nom de fichier fait 8 caracteres, je creai un fichier de 8 cara Rechercher une chaine de caractere dans un fichier [ par watch_3754 ] Voila mon probleme peut paraitre simple mais moi ca devient enervant.Je voudrai pouvoir rechercher dans un fichier (qui n'est pas en forme de tableau) generateur de mot [ par tezca_system ] Bonjour,Cela fait 3 jours que je travail sur un générateur de mot. C'est de niveau débutant.Concretement je souhaiterai que le programme genere tous l chaines de caracteres: caractere NULL [ par dletozeun ] bonjour,Je sais que lorsque l'on utilise la fonction: sprintf(), celle ci met automatiquement un caractere NULL a la fin du mot ecris dans la chaine.J UpdateData() [ par BrandeBouque ] Bonjour,existe t'il une autre methode qu'UpdateData() pour mettre à jour l'affichage ?Si j'ai tout compris, UpdateData() met à jour toutes les edit bo Affichage de caractere tres speciaux [ par Darats ] bonjours, j'utilise Visual C++ dans le cadre de mon ecole d'ingenieurj'ai besoin, dans une interface dos, d'afficher graphiquement un tableauj'arrive socket affichage de caractere [ par Shaihuld ] Bonjour,j'essais de faire communiquer 2 programes avec les sockets et send() et recv().ors d' une connection o server celui ci envoie une chaine hello fenetre d'affichage sous dos HELP! [ par LedPaL ] Slt,j'ai besoin de votre aide, je debute !savez vous quel fichier doi je inclure pour utiliser la commande: window(x1,y1,x2,y2); afin de redefinir une optimisation affichage opengl [ par xian240482 ] J'ai reussis a affiché un fichier .ASE , mais c'est lent! En cherchant un peu partout, j'ai trouvé plusieur voie :Les gll procedure incomprise ? : ; [ par blinix123 ] Bonjour a tous, désolé pour le titre je ne savais quoi mettre...J'ai le bout de code suivant:Mise a jour du plateau de jeu</tr


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.