25. maj 2003 - 23:55
Der er
13 kommentarer
Ny linie når der skrives til fil
hvordan får jeg lavet en ny linie, når jeg skriver til en fil med f.eks. dette stykke kode: #include <stdio.h> #include <iostream.h> void main() { char MinTekst[200]; cin >> MinTekst; FILE* Fil; Fil = fopen("c:/Fil.fil", "w+b"); fputs(MinTekst, Fil); fclose(Fil); }
Annonceindlæg fra Conscia
Jeg mener en ny linie i filen, så det jeg skriver til filen kommer til at stå på hver sin linie. f.eks Hund Kat Hest osv...
prøv med \n i slutningen af hver linie for input
Du skal have en newline karakter sidst i din streng, f.eks.: void main() { char MinTekst[200]; cin >> MinTekst; MinTekst[strlen(MinTekst)] = '\n' FILE* Fil; Fil = fopen("c:/Fil.fil", "w+b"); fputs(MinTekst, Fil); fclose(Fil); } Afhængig af din compiler, skal du have <string.h> eller tilsvarende inkluderet for at bruge strlen. Men ideen er at du skal have karakteren \n (newline) i din streng, der, hvor du vil have linjeskift.
eks... fputs(MinTekst + "\n", Fil);
MinTekst + "\n" er ikke legalt for char array.
så blev jeg også klogere ;-)
Jeg mener det er OK hvis MinTekst er en STL string (C++).
Hvorsor bruger folk ik bare CString... gøre ting meget nemmere.. :)
Udvalget af compilere er jo til at overskue så ! :-)
21. juli 2003 - 10:58
#10
a_hald >> Kunne det bruges ?
21. juli 2003 - 11:00
#11
Hvordan gør man så den ikke skrive den samme linje flere gange?
21. juli 2003 - 11:29
#12
Den skriver vel kun linien det antal gange du laver puts ?
21. juli 2003 - 11:30
#13
Noget helt andet: hvorfor b i fopen ?
Kurser inden for grundlæggende programmering