Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Selectionner char x => Segment. Fault. [ Linux / Autre ] (miata)

mardi 19 août 2008 à 20:24:55 | Selectionner char x => Segment. Fault.

miata

Bonjour,

Débutant en C, j'essai mais en vain.

#include <stdio.h>
#include <stdlib.h>

int main(void) {
    char *s = (malloc(256 * sizeof(char)));
    s = "Plop";
   
    printf("%s\n", s[2]);
   
    return 0;
}

Je voudrais donc :
Prendre le 2ème caractère de la chaine (et par après, si j'y arrive, faire une lecture et récupérer ce que je veux, mais d'habord, faudrait que ça fonctionne :D)

Qu'es-ce qui cloche ? Comment le compiler pour que ça fonctionne ?
J'ai essayé pour le compiler : gcc -Wall -pedantic -g test.c -o test et gcc test.c -o test
Mais dès que le ./test, PAF : 'Erreur de segmentation' -_-'

Si je met printf("%s\n", s); eu lieu de printf("%s\n", s[2]); naturellement, ca fonctionne ...
Quelqu'un peut me mettre sur la voie ?

Merci :)


mardi 19 août 2008 à 20:41:53 | Re : Selectionner char x => Segment. Fault.

Neo_Fr

Membre Club
Réponse acceptée !
Salut,
Tu utilise printf avec le param "%s" (string), printf attend donc une adresse pointant sur une chaine de caracteres, hors la tu lui passe un caractere et donc forcement ca plante, tu ferait bien de t'acheter un bon bonquin pour apprendre les bases..

Corriger ca donne donc ca:

int main(void)
{
    char szTest[] = "Test...";
    printf("%s", szTest); // affiche la chaine
    printf("%c\n", szTest[2]); // affiche le 3eme caractere
    return 0;
}

Neo_Fr

mardi 19 août 2008 à 20:45:17 | Re : Selectionner char x => Segment. Fault.

miata

Haaaa, ouaiiis, juste, faut lui donner le type "caractère" et non "chaine de caractère" :)

Eh ben merci :)

Cordialement,
Maxux.




Cette discussion est classé dans : test, printf, fonctionne, char, selectionner


Répondre à ce message

Sujets en rapport avec ce message

Débutant demande aide en C [ par juancho2786 ] Bonjour tout le monde. Je voulais vous demandez si mon code était correcte? et comment faire pour aller à la ligne après chaque enregistrement? Merci scanf / printf avec variable char [ par domcergyitin95 ] Bonjour, je début en C, et j'ai un problème que je n'arrive pas à résoudre, malgré que le reste du programme soit plus complexe et que ça tourne bie return char [ par nem02004 ] char test() {     char tst[10];     sprintf(tst,"looool");     return tst;}int main() {    MessageBox(NULL,test,NULL,NULL);}Je epnse que vous co string.h, c_str() & char* [ par MyXiLo ] Bonjour,Il y a un petit quelque chose que je ne comprends pas avec les std::string de string.hstd::string Pouet="LALALALa";pr URGENT: pb passage d'argument tableau de chaine de caracteres! [ par joduak ] Salut à vous! j'ai un problème de passage d'argument d'un tableau de chaine de caractere. Si quelqu'un à une idée, faire vite svp ! Voici mon code : problem avec un char[] [ par kibab ] Bounour a vous tous, je suis nouveau de ce langage et je m'amuse à faire des épreuves diverses.Ici il y a un petit example mais jái un problem:#includ aide sur erreur de syntaxe [ par skadomers ] salut à tous.voila je suis en train de créer un programme , permettant de faire des fiches de commande par client. Dans un premier temps ont rempli le moteur de recherche pour des fichiers contenu dans un serveur ftp [ par cobra176 ] j'ai créer un programme de recherche grace a l'aide plusieurs menbres  de ce site mais à la fin quand je le compile mon assembleur me dit Build error FTP et fichiers [ par cobra176 ] j'ai créer un programme qui recherche des mots clée et affiche les lignes qui les contint dans des fichiers log qui eux sont contenu dans un serveur f probleme boucle de test [ par nach73 ] Bonjour, je suis debutanr  en "C". Je cherche à test une chaine de caractère.Elle doit commence par > et finir par me renvoie tjrs "0" quoique je rent


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,608 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.