anoniem Geplaatst: 12 mei 2003 Delen Geplaatst: 12 mei 2003 Hallo, een beginnersvraag : Ik ben sinds een paar dagen met C aan het programmeren en nu stoot ik op een probleem : Ik heb een klein programmatje geschreven voor een txt-bestand aan te maken, dit is de code : [code:1:c9015e7e74] #include <stdio.h> int main() { FILE *pnf; char *str; pnf=fopen("test.txt","w"); printf("tik een string in \n"); scanf("%s",&str); fprintf(pnf,"%s",str); fclose(pnf); return 0; } [/code:1:c9015e7e74] Maar als het progje runt en typ een string in en druk op enter dan wordt er wel een bestand "Test.txt" aangemaakt maar dat bestand is leeg. Weet iemand waar dat aan ligt? Alvast bedankt! Wim. Quote Link naar reactie
anoniem Geplaatst: 12 mei 2003 Auteur Delen Geplaatst: 12 mei 2003 Hij doet het om 2 redenen niet. Een char kan maar 1 letter bevatten, je kan een array maken door bijvoorbeeld char *str[100] te maken. En verder moet je bij de fprintf het adres meegeven, door fprintf(pnf,"%s",&str); ps. scanf pakt alleen het eerste woord [code:1:da8ccfd56c] #include <stdio.h> int main() { FILE *pnf; char *str[100]; pnf=fopen("test.txt","w"); printf("tik een string in \n"); scanf("%s",&str); fprintf(pnf,"%s",&str); fclose(pnf); return 0; } [/code:1:da8ccfd56c] Suc6 Groeten Josteman Quote Link naar reactie
anoniem Geplaatst: 13 mei 2003 Auteur Delen Geplaatst: 13 mei 2003 Jammer, het werkt nog niet. Ik krijg steeds devolgende foutmelding : [code:1:f2a25a1dfa] c:\program files\miracle c\include\H2oef3.c: line 9: & non lvalue 'scanf("%s",&str)' aborting compile [/code:1:f2a25a1dfa] weet iemand waar dit aan ligt? Groetjes, Wim. Quote Link naar reactie
anoniem Geplaatst: 13 mei 2003 Auteur Delen Geplaatst: 13 mei 2003 Bijna goed. char *str[100] is een array van 100 pointers naar char en niet een array van 100 chars. [code:1:1b31fb7b8c]#include <stdio.h> int main() { FILE *pnf; char str[100]; pnf=fopen("test.txt","w"); printf("tik een string in \n"); scanf("%s",str); fprintf(pnf,"%s",str); fclose(pnf); return 0; }[/code:1:1b31fb7b8c] Quote Link naar reactie
anoniem Geplaatst: 13 mei 2003 Auteur Delen Geplaatst: 13 mei 2003 Ja! Nu werkt het! Bedankt allemaal voor de reacties, ik ga meteen nog wat verder programmeren! Greetz, Wim. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen