[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
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
-
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(); } -
une partie de la solution réside
que sous mac il faut ajouter
#include <stdlib.h> -
une petit return (0); après strcat("hello","world"); sa peut résoudre ton problème
-
-
@Pacorabanix:( oups j'ai dit une gros con*** SORRY
-