Affichage chaine de caractere avec pointeur

Jules211 -  
 Jules211 -
Bonjour j'ai fais un programme qui passe ou du moins est sensé passer une chaine de caractère en majuscule, j'ai fais une fonction maj donc j'utilise les pointeur ^^
J'ai passer le tableau("chaine de caractère") dans ce pointeur et j'aimerais pouvoir l'afficher cette chaine ^^ n'étant pas chez moi et ayant pas mes cours et en cherchant sur internet je n'ai pas trouvé mon erreur... La syntaxe est elle la bonne ?

Voila merci d'avance et je m'excuse si ma question est vraiment simple ^^

printf("%s",*ptrT); // Doit afficher la chaine de caractere qui est pointer par ptrT

5 réponses

  1. momoadmo Messages postés 6 Statut Membre
     
    Bonjour, peux tu nous montrer comment t'as fait les déclaration au début de ton programme,,Merci
    0
  2. YCN- Messages postés 123 Statut Membre 12
     
    Ce que tu fais est presque correct si tu utilises string.h, en fait tu vas devoir utiliser ptrT plutôt.

    Par exemple :


    #include <string.h>
    #include <stdlib.h>
    #include <stdio.h>

    int main (void){
    char * string;
    int i;

    string = malloc ( 16 * sizeof (char));

    for (i=0;i<16;i++){
    string[i] = 'a';
    }

    printf("%s \n",string);
    }



    Voilà voilà.
    0
  3. Jules211
     
    Merci pour vos réponse voici mon programme..
    J'avou ne jamais avoir utiliser la fonction string ^^

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

    void maj(char *ptrT, int C)
    {
    /*affiche l'adresse du pointeur */
    printf("%i \n",ptrT);
    int i=0;

    for(i=0;i<C;i++)
    {
    if(*ptrT>=97 && *ptrT<=122)
    { *ptrT=(*ptrT-32);
    ptrT=&ptrT+i;
    i++;
    puts("o2");
    };
    };

    printf(" voila i %d \n",i);
    ptrT=(&ptrT-C);
    /* puts("o3"); */

    printf("%s",*ptrT); // la fameuse ligne
    system("pause");
    }

    void main(void)
    {
    int tchaine=10;

    char tab[tchaine];

    puts("Rentrez la taille de la chaine de caractere");
    scanf("%d",&tchaine);

    printf("----Passage de chaine en majuscule--- \n");

    puts("rentrez une chaine de caractere elle sera passe en majuscule ");
    scanf("%s",&tab);

    puts("Voici l'adresse du tableau ");

    printf("%i \n",&tab[0]);

    maj(&tab,tchaine);

    system("pause");
    }
    0
    1. YCN- Messages postés 123 Statut Membre 12
       
      met des balises code pour ton code, en cliquant sur la balises code après les icones pour mettre en gras italique et souligné.
      ET RETIRE LE '*' à printf("%s",*ptrT);
      --------> printf("%s",ptrT);
      0
  4. Jules211
     
    Je suis désoler si le programme est mal mis ^^'
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Jules211
     
    La cela devrait être bon ^^



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

    void MAJ(char *ptrT,int C)
    {
    /*affiche l'adresse du pointeur */
    printf("%i \n",ptrT);
    int i=0;
    for(i=0;i<C;i++)
    {
    if(*ptrT>=97 && *ptrT<=122)
    { *ptrT=(*ptrT-32);
    ptrT=&ptrT+i;
    i++;
    puts("o2");
    };
    };

    printf(" voila i %d \n",i);
    ptrT=(&ptrT-C);
    /* puts("o3"); */

    printf("%s",ptrT);
    system("pause");
    }

    void main(void)
    {
    int tchaine=10;
    float largeur,longueur,resultP;
    char tab[tchaine];

    puts("Rentrez la taille de la chaine de caractere");
    scanf("%d",&tchaine);

    printf("----Passage de chaine en majuscule--- \n");

    puts("rentrez une chaine de caractere elle sera passe en majuscule ");
    scanf("%s",&tab);

    puts("Voici l'adresse du tableau ");

    printf("%i \n",&tab[0]);

    MAJ(&tab,tchaine);

    system("pause");
    }

    0