[C] Problème de compilation

Bonsoir,
J'ai un petit problème le programme suivant ne compile euuh non ça s'execute mal

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

int main(void)
{
strcat("hello","world");
}

Pourtant je fait un Gcc sur mon (mac ceci explique peut être cela ...)

Resultat ça compile et apres execution
=>> Bus error

merci de m'aider si vous avez la solution ou de me dire si ça compile et tourne chez vous
Cordialement
Configuration: Mac OS X
Safari 531.21.10

3 réponses

  1. pour strcat la deuxième chaine est copiée à la suite de la première... mais pour cela il faut que la première soit une variable ! (de type char*).

    En fait le message est une erreur de mémoire.

    tu ne peux pas assigner qqchose à une constante.

    Ceci est valide :
    #include<stdio.h>
    #include<string.h>
    int main (void){
        char phrase[50] = "Hello";
        strcat(phrase, " World!");
        
        printf("%s\n", phrase);
        getchar();
    } 
    2
    1. une partie de la solution réside
      que sous mac il faut ajouter
      #include <stdlib.h>
      -1
      1. il n'est pas necessaire d'inclure stdlib.La seule fonction utilisée ici est strcat,contenue dans string.h.Ainsi la seule directive de préprocesseur utile ici est #include <string.h>,le reste est superflu.
        0
    2. une petit return (0); après strcat("hello","world"); sa peut résoudre ton problème
      -1
      1. je ne pense pas que ceci cause un bus error à l'exécution.
        0
      2. @Pacorabanix:( oups j'ai dit une gros con*** SORRY
        0