begin process at 2012 05 30 01:11:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

ouvrir un fichier avec devcpp


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

ouvrir un fichier avec devcpp

samedi 8 mai 2004 à 20:23:01 | ouvrir un fichier avec devcpp

anek971

lut tout le monde,
Bon j'ai fait un petit programme tout bete juste pour pouvoir ecrire une donné sur une personne ,dans le but d'agrementer ca plustard ds un carnet d'adresse.
voici mon prog je pense k'il est bon mais ca me met un erreur de segementation,si le prog est bon fo t'il faire une manip spé pour ouvir ou lire un fichier sous devcpp si oui lakel?

#include<stdio.h>
#include<stdlib.h>
#define N 40
struct personne
{
char nom[N+1];
char prenom[N+1];
int age;
};
main()
{
char essai[81];
FILE*f;
struct personne p;
printf("tapez le nom du fichier a creer: ");
scanf("%s",essai);
f=fopen(essai,"w");
printf("\ntapez le nom le prenom et l'age");
scanf("%s%s%d",p.nom,p.age,p.prenom);
fprintf(f,"nom:%s \nprenom:%s \nage:d",p.nom,p.prenom,p.age);
fclose(f);
}
merci d'avance pr l'aide :)
samedi 8 mai 2004 à 20:41:41 | Re : ouvrir un fichier avec devcpp

HCJarod

typedef struct personne

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
samedi 8 mai 2004 à 20:58:43 | Re : ouvrir un fichier avec devcpp

anek971

:$ ca n'arrange pas mon prob ca me met tjs l'erreur de sgmentation sous linux je l'avais tester ca marchait parceke sous linux tt est considere comme fichier mais sous window avec devcpp ca marche po
merci pr l'aide
samedi 8 mai 2004 à 21:03:32 | Re : ouvrir un fichier avec devcpp

HCJarod

remplace scanf par un gets et regarde

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
samedi 8 mai 2004 à 21:19:38 | Re : ouvrir un fichier avec devcpp

anek971


tu vas dire ke je t'embete mais enfaite je n'ai tjs aucun prob de compilation mais d'exécution l'erreur de segmentation, mais pt etre fo t'il ke j'edite une source non?
samedi 8 mai 2004 à 23:42:35 | Re : ouvrir un fichier avec devcpp

HCJarod

vire quand même ton scnaf("%s%s...
et utilise des gets pour les chaines decaractères.

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
dimanche 9 mai 2004 à 09:48:28 | Re : ouvrir un fichier avec devcpp

DeAtHCrAsH

Salut,
je viens de tomber sur ton poste est autant dire que c'est pas du propre =).
J'ai fait quelques modification et ca marche nickel.
Et je doute que le code que tu nous a présenté marche sous Linux! Loin de la meme!

Bref voila les modifications a faire :

1) Quand tu declare une structure, pas la peine de mettre une deuxieme fois struct pour declarer une variable!

2)scanf prend en parametres le typre de données et l'adresse de la variable ou les données vont etre stocké!
La premiere valeur tableau de char retourne implicitement l'adresse! Or pour les autres variables de type int, double,... ce n'est pas le cas! Tu es donc obliger de mettre un "&" devant ta variable lors du scanf!
ex :

char machaine[80];
int nombre;

scanf("%s",machaine);
scanf("%i",&nombre);


3)Dans scanf l'ordre d'appel des varaibles doit etre le meme que celui des types appellés et il faut indiquer un séparateur quand il y a plusieurs variables a traiter dans le scanf(un espace, une virgule,...)!
Regarde ce que tu as mis :

scanf("%s%s%d",p.nom,p.age,p.prenom);

Il ne faut pas tout inverser =)
Voici la correction, j'ai mis un espace comme séparateur. L'isager va donc devoir mettre un espace quand il rentrera son nom, son prenom et son age dans le programme sinon ca ne marchera pas :

scanf("%s %s %i",p.nom,p.prenom,&p.age);


LE PROGRAMME MARCHE ENFIN!

Voici le code en entier et corrigé :

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

#define N 40

typedef struct
{
char nom[N+1];
char prenom[N+1];
int age;
}PERSONNE;


int main(int argc, char* argv[])
{
FILE *f;
char essai[81];
PERSONNE p;

printf("tapez le nom du fichier a creer : ");
scanf("%s",essai);
f=fopen(essai,"w");

printf("\ntapez le nom le prenom et l'age separ\202 par des esapces : ");
scanf("%s %s %i",p.nom,p.prenom,&p.age);

fprintf(f,"nom:%s \nprenom:%s \nage:%d",p.nom,p.prenom,p.age);

fclose(f);

return 0;
}


Soit plus attentif quand tu codes et n'hésites pas a tester chaque fonction indépendament pour le debugage!

Sinon je te souhaite une bonne continuation et si t'as un probleme n'hésites pas.

A++

Samir
dimanche 9 mai 2004 à 09:53:24 | Re : ouvrir un fichier avec devcpp

DeAtHCrAsH

Dernière ptite remarque.
Tu peux enlever le #include <stdlib.h> il ne te sert a rien ici.
Quand tu codes penses a bien indenté car c'est très important pour le débugage et la relecture.
Le \202 correspond au caractere "é".

Samir
dimanche 9 mai 2004 à 14:02:12 | Re : ouvrir un fichier avec devcpp

anek971


Re lut ben j'ai essayer ton prog tjs la mm erreur .
Le truc ke tu m'a expliké mais ou je vois pas l'erreur c ke toi quand t'ecris typedef ...pui PERSONNE enfaite la tu identifie PERSONNE "comme une classe de variable",enfaite la PERSONNE devient une classe type struct avec les champs nom etc...
Mais moi quand j'ecris struct personne p ca revient juste a dire ke p est une structure de type personne dc ca devrait etre la mme chose non :$ surtout ke j'aif ait un tp la dessus et tout marche nickel.
ensuite bon j'avoue la j'ai fais une petite inversion mais la j'avais mm pas fait attention enfaite j'ai recopier ca vite juste pr agrémenter ca a mon carnet d'adresse comme koi, il faut tjs prendre son temps en programmation :).
Mais tjs la meme erreur et je te jure ke ca marche sur linux enfin je n'avais pas fait cette erreurs la parcontre :$.Merci tjs
dimanche 9 mai 2004 à 17:03:32 | Re : ouvrir un fichier avec devcpp

DeAtHCrAsH

Bizarre ....
Moi chez moi tout marhce niquel avec les modifications que j'ai fait.

Fait un copier/coller de ton code ici et dis moi sous quel compilateur tu es.

Samir

1 2

Cette discussion est classée dans : fichier, age, char, devcpp, prenom


Répondre à ce message

Sujets en rapport avec ce message

un pti prob ... :s help [ par meksoft002 ] Bonjour, c'est ma première participation en vue que vous pourrez resoudre mon problème ..voila...je vouderais mettre en oeuvre un tableau d'objets "pe Tri file [ par kakitn ] salut, j'ais une file (liste simplement chainée) de candidats, chaque candidats est identifié par un nom, prenom, genre et un score. je veux ecrire un Charger un fichier dans un tableau de char [ par hitaki zoran ] Bonjour, j'ai commencé à développer en C++ il y a peu de temps et j'ai besoin d'aide pour deux choses:1. J'aimerais savoir comment je peux charger un Calcul des combinaisons des chaines de caracteres [ par boualiasma ] Bonsoir, J'ai un fichier texte "exemple.txt" qui contient dans chaque une seule chaine de caractère(attribut). On sait en avance le nombre d'attribut Lecture d'un fichier avec decoupe de chaine. [ par macbang ] Bonjour, je reviens vers vous pour un problème que j'ai du mal a résoudre.Mon programme ouvre un fichier, le but étant de découper ligne par ligne pou suppression d'une structure dans un fichier [ par ragon ] bonjour, je souhaite simplement supprimer toute une structure d'un fichier, mais je n'y arrive pas. Voila mon code, j'ai essayé un truc mais ca fonct Problèmes de pointeur pour un tableau de structure [ par fantaorange ] Bonjour à tous,Me voilà débutant en C, et je galère un peu avec les pointeurs pour un tableau de structure...Je me suis fixé un petit exercice qui con Manipulation de chaînes de caractères [ par ndubien ] Bonjour, Je cherche à obtenir le nom d'un fichier sachant que j'ai le chemin menant à lui. Explications: La variable "char *FileName" contient le text Fichier hexa, creation de BMP [ par mikax31 ] Bonjour à tous, voilà un petit moment que je cherche en vain la réponse à ma question...Mon objectif : à partir d'un fichier binaire contenant les don


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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,671 sec (3)

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