begin process at 2010 02 09 23:28:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Linux

 > 

Autre

 > 

Selectionner char x => Segment. Fault.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Selectionner char x => Segment. Fault.

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ée 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

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,920 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales