25. marts 2003 - 19:40
Der er
30 kommentarer og 1 løsning
Lave/redigere/slette filer?
Hej.... jeg er ret dårlig til c++ ;) Jeg sidder og leger lidt med dosapplikationer... Er der nogen, der ved hvordan man laver/redigerer/sletter filer i sådanne programmer?? Eller noget, der har en side hvor den slags ting står beskrevet... ? Jeg bruger dev++ 4 :)
Annonceindlæg fra Deloitte
25. marts 2003 - 19:42
#1
Der er mange måder at gøre det på. Opret fil: C: #include <stdio.h> FILE *fp; fp = fopen(filename, "w"); C++: #include <fstream> using namespace std; ofstream f(filename);
25. marts 2003 - 19:43
#2
slet fil: #include <stdio.h> remove(filename);
25. marts 2003 - 19:44
#3
rediger fil: Som ny i C/C++ vil jeg foreslå at du læser den gamle fil og skriver til en ny fil med rettelser.
25. marts 2003 - 19:45
#4
Ovenstående er sådan rimelig standard. Derudover findes der også en lang række Windows og Unix specifikke muligheder. Men start med standard.
25. marts 2003 - 19:46
#5
Takker...:) Men hvordan fortæller man den hvad der skal stå i den fil man opretter ??
25. marts 2003 - 19:50
#6
Du skriver det hele. #include <stdio.h> FILE *fp; fp = fopen(filename, "w"); fprintf(fp, "Linie 1\n"); fprintf(fp, "Linie 1\n"); eller: #include <fstream> using namespace std; ofstream f(filename); f << "Linie 1" << endl; f << "Linie 2" << endl;
25. marts 2003 - 19:51
#7
Takker =)
25. marts 2003 - 19:52
#8
Hvis det skal være et komplet eksempel: #include <stdio.h> int main() { FILE *fp; fp = fopen(filename, "w"); fprintf(fp, "Linie 1\n"); fprintf(fp, "Linie 1\n"); } og: #include <fstream> using namespace std; int main() { ofstream f(filename); f << "Linie 1" << endl; f << "Linie 2" << endl; }
25. marts 2003 - 19:54
#9
Noget jeg bare ikke forstår er, hvilken fil den skriver til der :)
25. marts 2003 - 19:56
#10
og den siger, at "filename" hvor jeg iøvrigt har forsøgt, at skrive et filnavn er uncleared???
25. marts 2003 - 19:58
#11
Sorry - det gik vist lige lovligt stærkt. fp = fopen("minfil.dat", "w"); eller: char filename[] = "minfil.dat"; fp = fopen(filename, "w"); eller en anden måde at have en variabel med filnavn på. Tilsvarende for C++.
25. marts 2003 - 20:00
#12
Ikke for at være besværlig, men hvordan skriver man så ?:D
25. marts 2003 - 20:02
#13
Hehehe.. jeg er helt rund på gulvet... ka jeg få dig til at skrive komplette eksempler?? Hvis lige du gør det med dem alle sammen kyler jeg lige 20 points mere efter dig ;)
25. marts 2003 - 20:03
#14
Ska kun være til c++
25. marts 2003 - 20:05
#15
#include <stdio.h> int main() { FILE *fp; fp = fopen("minfil.dat", "w"); fprintf(fp, "Linie 1\n"); fprintf(fp, "Linie 1\n"); } og: #include <fstream> using namespace std; int main() { ofstream f("minfil.dat"); f << "Linie 1" << endl; f << "Linie 2" << endl; } har jeg lige testet hos mig !
25. marts 2003 - 20:06
#16
Det jeg kalder C virker både i C og C++. Det jeg kalder C++ virker kun i C++.
25. marts 2003 - 20:11
#17
Ahh.. smart :o) Opretter lige spg med lidt flere points ;)
25. marts 2003 - 20:13
#18
25. marts 2003 - 20:15
#19
Iøvrigt: ovenstående C virker i C++, det meste C virker i C++, men det er muligt at lave C kode som ikke kompiler med C++.
25. marts 2003 - 20:56
#20
Okay :) Forresten, hvordan skal man erklære fp i dit åben eksempel ??
25. marts 2003 - 20:59
#21
fp er erklæret som pointer til fil object (FILE *). Og det skal det bare. Så er det fopen som åbner filen og giver fp en værdi som så kan bruges i fprintf (og masser af andre skrive/læse funktioner).
25. marts 2003 - 21:01
#22
Ren teknisk er typen FILE erklæret i stdio.h og du behøver ikke bekymre dig om hvad den egentlig indeholder.
26. marts 2003 - 09:34
#23
Den brikker sig bare over at den ikke er erklæret :-s
26. marts 2003 - 09:36
#24
Du har en: #include <stdio.h> og den beklager sig over at FILE ikke er erklæret: FILE *fp; ? Kan du poste et stykke kode ?
29. marts 2003 - 18:11
#25
Vil du ik lige sige hvordan man sletter en fil ?? :D remove(filename); virker ikke ;)
29. marts 2003 - 18:19
#26
#include <stdio.h> remove("minfil.dat"); vil slette minfil.dat ! Medmindre naturligvis at den er markeret som readonly eller filen er åben.
29. marts 2003 - 18:20
#27
Hvis filen åben fordi du selv har brugt den, så skal du bare bruge: fclose(fp);
29. marts 2003 - 18:23
#28
eller: f.close(); for ofstream.
29. marts 2003 - 18:28
#29
implicit declaration of function `int remove(...)' ?????? :-S
29. marts 2003 - 18:30
#30
Har du #include <stdio.h> ?
29. marts 2003 - 18:35
#31
Upz, nej :D Takker
Kurser inden for grundlæggende programmering