begin process at 2012 02 10 21:45:29
  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 printf char* [ par Flow8002 ] Bonjour , J'ai un petit soucis je n'arrive pas a imprimer un char *. je m'explique , j'ai un char *test qui contiens deux valeurs. test[0]=9; test[ Tableaux - Gestion dynamique de la mémoire [ par Smanyx ] Salut ! Je voudrais écrire un programme qui accepte des noms saisis au clavier et les amasse dans un tableau. Comme les noms sont entrés dans un bouc probléme de déplacement d'une case a une autre dans un tableaux de type char* [ par mlikos ] Bonjour, est ce qq1 peut m'aider a résoudre ce problème : #include #include #include struct coordonnees { int x; int y; }; typedef struc pointeur de pointeur de pointeur [ par am1150 ] Salut, quelqu'un peut-il me dire pourquoi à partir de la 3emme adresse de **a est égale à 0? code : char* EnerconTextAlTest3(char* NamePark,int Nu Dictionnaire de traduction [ par JSG19 ] Salut j'ai un dictionnaire a programmer a chaque fois que je programme soit j'ai le premier mot soit le dernier ou toute la liste de traduction donc Pointeurs [ par rourou2030 ] Salut à tous,j'ai des lacunes concernants les pointeurs.En fait voici mon problème:Soitunsigned char *dataunsigned char *bufferest ce que l'appelle   Besoin Aide sur mon programme [ par knockner ] Voici mon programme je n'arrive pas a trouver mon erreurs , le programme se lance il faut appuyer 2 fois sur entrée , et des que l'on rentre une lettr fread & fwrite [ par mosted ] Bonjour, Etant débutant , j'ai un soucis avec un code à faire pour l'école. Nous devons lire des structures d'un fichier binaire. Voici mon code [c Compte bancaire sous langage C/C++ [ par akanLG ] Salut, Je suis étudiant en informatique de gestion. Je prépare un mémoire de fin de cycle BTS. Mon thème s'intitule Application Bancaire sous Langage


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 2,948 sec (4)

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