IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèque standard C Discussion :

petit probleme de pointeur dans strcat sur le projet de mes etudiant


Sujet :

Bibliothèque standard C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1
    Par défaut petit probleme de pointeur dans strcat sur le projet de mes etudiant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #include<conio.h>
    void main()
    {
    	int  i,j,k,x,n,ligne,l[256],trouve,ligne1,z;
    	char r[5],t[256][256],t1[256][256],cle,cle1,ch[256],ch1[256],mot[200],ab,ch2[5];
     
        i=0;
        j=0;
     
        printf("DONNE LE TEXTE A CRYPTE \n");           //REMPLISSAGE DU TABLEAU DE CARACTERES//
        printf("*******************************************************************\n");
        do                                                             //
        {                                                              //
        j=0;
        printf("* \t\t");                                                          //
        gets(ch);                                                      //
        l[i]= strlen(ch);
        for(k=0;k<(int)strlen(ch);k++)                                 //
        {                                                              //
        t[i][j]=ch[k];                                                 //
        j++ ;                                                          //
        }                                                              //
        i++;                                                           //
        n=strlen(ch);                                                  //
        }while(ch[n-1]!= '#');                                         //
        ligne1=i;
     
    ligne=ligne1;
     
    x=0;
    trouve=0;
     
     
    printf("donner la chaine a recherche");                                                          //
        gets(mot);  
     
    	do{
    		x++;
    		for(i=0;i<(ligne-1);i++)
    		{
    			for(j=0;j<l[i];j++)
    			{
    				if(t[i][j]<='Z' && t[i][j]>='A')
    				{
    					if((t[i][j]-x)>=65)
    						t1[i][j]=t[i][j]-x;
    					else
    						t1[i][j]=(t[i][j]-x)+26;
    				}
    				else
    					if(t[i][j]<='z' && t[i][j]>='a')
    					{
    						if((t[i][j]-x)>=97)
    							t1[i][j]=t[i][j]-x;
    						else
    							t1[i][j]=(t[i][j]-x)+26;
    					}
    			}
    		}
     
     
    for(i=0;i<(ligne1-1);i++)                                                   
     {
    	strcpy(ch1,"");
    	getch();
    	printf("-1-");
     
    	for(j=0;j<l[i];j++)
      {
    		printf("-2-");
    		getch();
     
    		strcpy(*ch2,t1[i][j]);  //-------ERREUR-----------------------
     
    		printf("-3- %s",ch2);
     
    	    strcat(&ch1,&ch2);
     
    		printf("-4-");
     
     
    	if(strcmp(ch,mot)==0)
    	 trouve=1;
      }
    }
     
     
     
    	}while((x<25) && (trouve==0));
     
     
    printf("4");
     
    for(i=0;i<(ligne1-1);i++)                                                   
     {
      for(j=0;j<l[i];j++)
      {printf("%c",t[i][j]);}
       printf("\n");
     }
     
    for(i=0;i<(ligne1-1);i++)                                                   
     {
      for(j=0;j<l[i];j++)
      {printf("%c",t1[i][j]);}
       printf("\n");
     }
     
     
    getch();
    }

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 299
    Par défaut
    Salut, bienvenue sur le forum.

    Ce n'est pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    strcpy(*ch2,t1[i][j]);
    mais plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    strcpy(ch2,t1[i][j]);
    idem pour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    strcat(&ch1,&ch2);
    à remplacer par :

    PS : rien ne t'interdit de poser une question plutôt que de mettre ton code. Tu peux aussi dire bonjour...

  3. #3
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Lorsque tu parles de tes étudiants, tu veux dire que tu enseignes le C? Je ne porte aucun jugement de valeur, mais j'espère que tu ne leur montre pas le code que tu viens de poster...

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  4. #4
    Membre chevronné Avatar de Pierre Maurette
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    283
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 283
    Par défaut
    Citation Envoyé par Thierry Chappuis Voir le message
    Lorsque tu parles de tes étudiants, tu veux dire que tu enseignes le C? Je ne porte aucun jugement de valeur, mais j'espère que tu ne leur montre pas le code que tu viens de poster...
    Je ne sais pas en Suisse, mais il fut un temps en France où n'importe qui devait accepter des sessions d'informatique pour lesquelles ils n'étaient pas nécessairement formés. Ne serait-ce que dans un contexte "électronique", ou "automatisme industriel". Certes, c'est regrettable, et ça ne dispense pas d'un brin d'explication, pour ne pas parler de politesse, dans la présentation de la question.

  5. #5
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Citation Envoyé par Pierre Maurette Voir le message
    Je ne sais pas en Suisse, mais il fut un temps en France où n'importe qui devait accepter des sessions d'informatique pour lesquelles ils n'étaient pas nécessairement formés. Ne serait-ce que dans un contexte "électronique", ou "automatisme industriel". Certes, c'est regrettable, et ça ne dispense pas d'un brin d'explication, pour ne pas parler de politesse, dans la présentation de la question.
    Je n'ai jamais été confronté à cette situation (ou du moins, pas aussi extrême que tu le décris) ni en tant qu'étudiant, ni en tant qu'enseignant. J'enseigne cette année l'analyse à des ingénieurs première année alors que mon domaine est le génie chimique. La première chose que j'ai faite a été d'ouvrir un ouvrage d'analyse. Il n'est pas interdit de préparer son cours avec un bouquin de C à portée de main et de consulter la doc des fonctions (je reconnais que ça prend du temps).

    Ensuite, en ce qui concerne la présentation du code, c'est certes subjectif, mais cela relève plus du bon sens que des compétences en tant que programmeur.

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    en plus de l'abondance des commentaires

  7. #7
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Citation Envoyé par Thierry Chappuis Voir le message
    Lorsque tu parles de tes étudiants, tu veux dire que tu enseignes le C? Je ne porte aucun jugement de valeur, mais j'espère que tu ne leur montre pas le code que tu viens de poster...
    Je pense (enfin j'espère, parce que c'est tout de même préférable) qu'il s'agit du code d'un des étudiants et que la cause de l'erreur lui échappait

  8. #8
    Membre chevronné Avatar de Pierre Maurette
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    283
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 283
    Par défaut
    Citation Envoyé par diogene Voir le message
    Je pense (enfin j'espère, parce que c'est tout de même préférable) qu'il s'agit du code d'un des étudiants et que la cause de l'erreur lui échappait
    Je pense (enfin, j'espère) que c'est un troll ou une ruse d'un étudiant, comme il semble y en avoir beaucoup ici. Ce qui n'est pas vraiment plus rassurant.
    Le message d'erreur est à priori explicite. Et la première ligne du main() balance plus de 100ko dans la pile, qui plus est dans un programme MS-DOS (<conio.h>)

  9. #9
    Membre chevronné Avatar de Pierre Maurette
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    283
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 283
    Par défaut
    Citation Envoyé par hamhama-group Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    /* ... */
    void main()
    {
    	int  i,j,k,x,n,ligne,l[256],trouve,ligne1,z;
    	char r[5],t[256][256],t1[256][256],cle,cle1,ch[256],ch1[256],mot[200],ab,ch2[5];
    /* ... */
    Faites gaffe, vous allez droit à l'accident de pile.
    Indépendamment des autres réponses qui vous ont été faites.

Discussions similaires

  1. Réponses: 0
    Dernier message: 02/07/2013, 16h14
  2. Probleme de routage (dans Areas) sur MVC (VS 2010) en C#
    Par TAMBOOH dans le forum Visual Studio
    Réponses: 0
    Dernier message: 20/07/2010, 10h34
  3. Petite probleme copier requete dans un nouveau table
    Par mihaispr dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 06/01/2010, 16h29
  4. Petit probleme ajustement Box dans BorderLayout
    Par Agrapheuse dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 03/09/2008, 16h11
  5. Réponses: 1
    Dernier message: 22/04/2007, 18h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo