Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur Compilation

no newline at end of file

Sujet résolu
    11 avril 2006 à 10:09:11

    Hello :)

    J'ai un petit problème avec Code::Blocks lors de la compilation...Parfois un message d'erreur apparait "no newline at end of file" alors qu'une minute avant tout marchait correctement. D'ailleurs j'ai fait un test avec le code ci-dessous : il marchait parfaitement, j'ai supprimé une ligne, puis je l'ai remise (avec la fonction undo), et là mon code marchait plus o_O

    Bon, si ça peut vous aider, voici mon code :

    void concatenationChaine(char chaine1[], const char chaine2[]);

    int main(int argc, char *argv[])
    {
    char chaine1[100] = "Test";
    char chaine2[] = " et suite.";
    printf("%s <= Chaine 1 avant concatenation\n", chaine1);
    concatenationChaine(chaine1, chaine2);
    printf("%s <= Chaine 1 apres concatenation", chaine1);
    printf("%s <= Chaine 2 apres concatenation", chaine2);

    return 0;
    }

    void concatenationChaine(char chaine1[], const char chaine2[])
    {
    //Phase 1 : Repérer l'adresse de '\0' ( fonction strlen faite maison )
    long caractereActuel = 0, nombreCaracteres = 0;
    do
    {
        caractereActuel = chaine1[nombreCaracteres];
        nombreCaracteres++;
    }while(caractereActuel != '\0');

    nombreCaracteres = nombreCaracteres -1;

    /*Phase 2 : On remplace le '\0' et la suite (qui est vide) de la chaine1
    par les valeurs de chaine2[]*/

    long j = 0, caractereActuel2 = 0; /*j est la variable pour trouver la valeur
     de chaine2[j] */


    do
    {
    chaine1[nombreCaracteres] = chaine2[j];
    nombreCaracteres++;
    j++;
    caractereActuel2 = chaine2[j];
    }while(caractereActuel2 != '\0');

    chaine1[nombreCaracteres + j - 1] = '\0';
    }


    Voilà voilà, pour la fin du code je suis pas sûr que ça soit très propre, mais ça marchait quand même...
    Si vous pouviez m'indiquer à quoi peut-être du cette erreur (et comment améliorer mon code :-° ) ça serait super sympa ;)

    EDIT : Viens de me rendre que mon code marche sans la toute dernière ligne :D
    • Partager sur Facebook
    • Partager sur Twitter
      11 avril 2006 à 10:14:29

      Ça veut dire que t'as pas laissé de ligne blanche à la fin du code.

      C'est un truc qui est demandé par tous les compilateurs C : toujours laisser une ligne vide à la fin.
      • Partager sur Facebook
      • Partager sur Twitter
        11 avril 2006 à 10:21:03

        Ah, bah merci beaucoup ^^ (je pensais pourtant n'avoir rien fait d'autre que couper/coller...)


        • Partager sur Facebook
        • Partager sur Twitter
          11 avril 2006 à 10:49:08

          Citation : SnowHand

          e pensais pourtant n'avoir rien fait d'autre que couper/coller...


          Certes, mais ça dépend de que tu copies...

          int main ()
          {
             return 0;
          }

          n'est pas

          int main ()
          {
             return 0;
          }


          • Partager sur Facebook
          • Partager sur Twitter
          Music only !

          Erreur Compilation

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown