Article View: be.comp.programming
Article #9342Re: printf() en strings
From: Bart Baert
Date: Tue, 30 Apr 2002 14:51
Date: Tue, 30 Apr 2002 14:51
57 lines
2214 bytes
2214 bytes
Kris Gaethofs (kris.gaethofs@student.kuleuven.ac.be) wrote:
: Hoi,
: Ik heb een klein programma geschreven in C en zit nu met een
: probleempje. Ik definieer een pointer als volgt:
: char *string;
: Vervolgens lees ik uit een bestand in als volgt:
: fscanf(inputfile,"%lf%lf%lf%s",&x,&y,&z,&string);
Het moet dus zoiets worden:
char string[50];
fscanf(inputfile, "%lf%lf%lf%49s", &x,&y,&z, string);
/* printf(string); ??? */
Aangezien er zonder de printf() geen core dump kwam, denk ik dat
er in string niets is ingevuld. Het aantal velden dat
men heeft gevonden wordt teruggegeven door fscanf().
Je kan het volgende proberen.
int res;
char string[50];
if ((res = fscanf(inputfile, "%lf%lf%lf%49s",&x,&y,&z,string)) != 4 ) {
printf("fscanf heeft niet alle 4 velden kunnen terugvinden\n");
return 1;
}
else
printf(string);
Trouwens, die %49s zorgt ervoor dat er maximaal 49 karakters in string
worden gekopieerd. Het laatste byte zal dan worden opgevuld met '\0'.
Ik hoop dat deze extra informatie nog zinvol was.
Marc
: Dit verloopt blijkbaar zonder fouten. De vraag is nu hoe ik de inhoud
: van string kan afdrukken. Wanneer ik hetvolgende probeer:
: printf("%s",string);
: krijg ik een core dump. Waarschijnlijk zal ik wel iets fout hebben
: gedaan met diene pointer, maar als beginnende c programmeur kom ik er
: toch nie dadelijk uit.
: Alvast bedankt voor de hulp.
: Kris
Technical Details
Message-ID:
<aamb29$pcb$1@inf6serv.rug.ac.be>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!supernews.com!194.159.246.34.MISMATCH!kibo.news.demon.net!demon!newsfeed.belnet.be!naxos.belnet.be!news.belnet.be!inf6serv.rug.ac.be!bjbaertReferences:
<3CCE8BAB.20809@student.kuleuven.ac.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,4cf3e2e3be91fbcb X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2002-04-30 08:15:04 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!supernews.com!194.159.246.34.MISMATCH!kibo.news.demon.net!demon!newsfeed.belnet.be!naxos.belnet.be!news.belnet.be!inf6serv.rug.ac.be!bjbaert From: bjbaert@news.rug.ac.be (Bart Baert) Newsgroups: be.comp.programming Subject: Re: printf() en strings Date: 30 Apr 2002 14:51:53 GMT Organization: University of Ghent, Belgium Lines: 58 Message-ID: <aamb29$pcb$1@inf6serv.rug.ac.be> References: <3CCE8BAB.20809@student.kuleuven.ac.be> NNTP-Posting-Host: eduserv.rug.ac.be X-Newsreader: TIN [version 1.2 PL2]