FORUM Syndrome-OC - Jacky-PC


  Programmation


  Langage haut niveau(C, Pascal...)


  [C] Need help : J'ai un peu de mal avec les variables

 




Il y a 26 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Need help : J'ai un peu de mal avec les variables

n°2332
Deather2
OpenBSD: the way to go!
Posté le 24-03-2004 à 16:40:26  profilanswer
 

Bonjour à tous
Voilà, j'ai des problemes avec ces deux fonction, elle marche ensemble, et quand je fais apel à AddConsoleLine(), j'ai droit à une belle erreur de mémoire ... :-(
Je pense qu'il faut que je mette des *, mais je sais pas du tout où, si vous pouviez m'aider, merci ;-)
 
La struct :  

Code :
  1. struct
  2. {
  3.     char line1[50];
  4.     char line2[50];
  5.     char line3[50];
  6.     char newline[50];
  7.     char currentline;
  8. } console;


 
Le code :

Code :
  1. void WriteConsoleLine(char line)
  2. {
  3.       pos(2,console.currentline+26);
  4.         textbackground(4);
  5.         printf(line);
  6.         textbackground(0);
  7. }
  8. void AddConsoleLine(char line)
  9. {
  10.     if(console.currentline!=3)
  11.     {
  12.         console.currentline++;
  13.         WriteConsoleLine(line);
  14.         switch(console.currentline)
  15.         {
  16.                 case 1:
  17.                 strcpy(console.line1,line);
  18.                 break;
  19.                 case 2:
  20.                 strcpy(console.line2,line);
  21.                 break;
  22.                 case 3:
  23.                 strcpy(console.line3,line);
  24.                 break;
  25.         }
  26.     }
  27.     else
  28.     {
  29.         strcpy(console.line1,console.line2); ////
  30.         strcpy(console.line2,console.line3);   // Ici on décale les lignes et on rajoute la nouvelle en bas
  31.         strcpy(console.line3,line);          ////
  32.        
  33.         DrawConsole(); // On redessine la console
  34.        
  35.         textbackground(4);
  36.         WriteConsoleLine(console.line1); ////
  37.         WriteConsoleLine(console.line2);   // On réécrit les deux ancienne phrase (maintenant décalée) + la nouvelle en bas = scrolling
  38.         WriteConsoleLine(console.line3); ////
  39.         textbackground(0);
  40.     }
  41. }


 
edit : ca ne peut pas être la fonction DrawConsole() qui merde ;)


Message édité par Deather2 le 24-03-2004 à 16:41:43
mood
Google
Posté le 24-03-2004 à 16:40:26  profilanswer
 

n°2334
Deadog
Dain Bramaged
Posté le 24-03-2004 à 18:58:36  profilanswer
 

"char line" décrit un caractère tout simple
 
void WriteConsoleLine(char *line);
 
printf("%s", line);  
 
void AddConsoleLine(char *line);
 
 
et vérifie la longueur de line avant de copier comme un bourrin avec strcpy, ou alors utilise strncpy


Message édité par Deadog le 24-03-2004 à 19:00:49
n°2336
Deather2
OpenBSD: the way to go!
Posté le 24-03-2004 à 19:53:40  profilanswer
 

line ne dépasse pas ~25 caractères ;) merci pour ton aide je test :)
 
Edit : Ca marche now, Merci :):)


Message édité par Deather2 le 24-03-2004 à 19:58:21
mood
Google
Posté le 24-03-2004 à 19:53:40  profilanswer
 


Aller à :
Ajouter une réponse

  FORUM Syndrome-OC - Jacky-PC


  Programmation


  Langage haut niveau(C, Pascal...)


  [C] Need help : J'ai un peu de mal avec les variables

 

Hit Parade