02. december 2005 - 14:57
Der er
31 kommentarer og 1 løsning
Oprette fil/dokument
Hej! Hvordan er det muligt, at oprette en fil udelukkende med C++? Filen behøver i dette tilfælde ikke at være andet end en simpel .txt/fil... På forhånd tak!! (Filens indhold skal være "Hej")
Annonceindlæg fra Bazoom
02. december 2005 - 14:57
#1
*.txt-fil
02. december 2005 - 17:16
#2
Okay... Laver lige lidt om på det... Jeg bruger følgende stykke kode, og vil gerne lave en fil med en variabel: #include "stdafx.h" #include <iostream> #include <string> #include <stdlib.h> #include <fstream> using namespace std; int main(){ ofstream out("c:\\test.txt", ios::out); out << "Indhold" << endl; } Jeg vil gerne have den til at se ud, noget al á dette: #include "stdafx.h" #include <iostream> #include <string> #include <stdlib.h> #include <fstream> using namespace std; string fil; string pla; int main(){ cout "Enter filename:\n"; cin fil; pla = "c:\\windows\\Documents and Setings\\All Users\\Desktop\\" + fil + ".txt"; ofstream out(pla, ios::out); out << "Indhold" << endl; } men det duer ikke (???)
02. december 2005 - 17:18
#3
Hovsa... Skal se sådan hér ud: #include "stdafx.h" #include <iostream> #include <string> #include <stdlib.h> #include <fstream> using namespace std; string fil; string pla; int main(){ cout << "Enter filename:\n"; cin >> fil; pla = "c:\\windows\\Documents and Setings\\All Users\\Desktop\\" + fil + ".txt"; ofstream out(pla, ios::out); out << "Indhold" << endl; }
02. december 2005 - 17:20
#4
Den godtager åbenbart ikke 'pla' i ofstream out(pla, ios::out);
02. december 2005 - 19:53
#5
Af uforklarlige grunde skal constructoren til ofsterem have en "const char *" som filnavn, af mere forklarlige grunde er der ikke automatisk konvertering mellem std::string og const char *, du kan dog bede om det ved at bruge std::string's c_str(): ofstream out(pla.c_str(), ios::out);
02. december 2005 - 21:23
#6
Nu benytter jeg så følgende stykke kode, men hvis jeg skriver for eksempel "created file" laver den uden at spørge om indholdet en fil der hedder "created.txt" med indholdet "file". Hvordan laver jeg sådan, at alt hvad man skriver ind bliver lagt til filnavnet...? #include "stdafx.h" #include <iostream> #include <string> #include <stdlib.h> #include <fstream> using namespace std; string fil; string indhold; string placering; int main(){ cout << "Filnavn:\n"; cin >> fil; cout << "\n\n"; cout << "Indhold:\n"; cin >> indhold; placering = "C:\\Documents and Settings\\" + fil + ".txt"; ofstream out(placering.c_str(), ios::out); out << indhold << endl; }
02. december 2005 - 21:28
#7
#include <iostream> #include <string> #include <stdlib.h> #include <fstream> using namespace std; string fil; string indhold; string placering; int main() { cout << "Filnavn:\n"; getline(cin, fil); cout << endl << endl; cout << "Indhold: " << endl; getline(cin, indhold); placering = "C:\\Documents and Settings\\" + fil + ".txt"; ofstream out(placering.c_str(), ios::out); out << indhold << endl; }
02. december 2005 - 21:31
#8
Du er SUPER!!! Vil du være så rar at fortælle hvad getline og endl betyder sådan kodemæssigt?
02. december 2005 - 21:37
#9
getline læser en hel linie, inklusive mellemrum, >> kan kun læse ét ord. endl laver ca. det samme som '\n', normalt foretrækkes endl.
02. december 2005 - 21:39
#10
og den dér "out"?
02. december 2005 - 21:42
#11
"out" ??
02. december 2005 - 21:44
#12
ja...: ofstream out(placering.c_str(), ios::out); out << indhold; "out(", "ios::out" og "out <<" - hvad betyder alle disse ting?
02. december 2005 - 21:48
#13
out er filen ios::out fortæller at filen skal bruges til at skrive i, et er egentlig overflødigt da en ofstream er en out/skrive fil. out << bruges til at skrive til filen.
02. december 2005 - 21:58
#14
Tusinde tak... Du skal have dine points, smid et svar :D
03. december 2005 - 00:13
#15
Jeg samler ikke på point.
03. december 2005 - 10:44
#16
Jamen så tager jeg dem bare selv ;) kan du så lige som en sidste ting fortælle mig hvad dén der linie: using namespace std; gør godt for?
03. december 2005 - 10:49
#17
Nårh ja, så er der lige en sidste ting... hvis jeg nu vil have mit script til at publishere på en anden computer siger den, at den mangler en DLL-fil (tror jeg nok)... Hvad gør jeg for, at få det til at du? Hvis jeg eventuelt sender den via mail eller brænder en cd... (?)
Slettet bruger
04. december 2005 - 09:15
#18
Koden #include <iostream> #include <string> #include <stdlib.h> #include <fstream> using namespace std; string fil; string indhold; string placering; int main() { cout << "Filnavn:\n"; getline(cin, fil); cout << endl << endl; cout << "Indhold: " << endl; getline(cin, indhold); placering = "C:\\Documents and Settings\\" + fil + ".txt"; ofstream out(placering.c_str(), ios::out); out << indhold << endl; } virker ikke på min maskine?!
04. december 2005 - 13:29
#19
ikke så sært. Virker heller ikke på min. Men jeg benytter denne i stedet for: #include "stdafx.h" #include <iostream> #include <string> #include <stdlib.h> #include <fstream> #include <sys/stat.h> using namespace std; string fil; string filetype; string indhold; string placering; int main(){ cout << "C:/(...)"; cout << "\n\n"; cout << "Enter filename: "; getline(cin, fil); cout << endl; cout << "Enter file type: "; getline(cin, filetype); cout << endl; cout << "Enter contents: "; getline(cin, indhold); cout << endl; cout << "Creating file : "+fil+"."+filetype; cout << "\n"; placering = "C:\\"+fil+"."+filetype; ofstream file_outside(placering.c_str()); file_outside << indhold; cout << endl << "File created..."; system("pause"); }
04. december 2005 - 13:32
#20
du kan jo eventuelt proppe dette her ind: cout << "Enter root: "; (hvor root jo er stien :) - i stedet for, at man i navnet skal skrive \Documents and Settings\(...))
10. december 2005 - 17:51
#21
Hvilken dll fil siger den at den mangler? Der bør ikke bruges nogen speciel dll for så simpel kode. Hvilken kompiler? stdafx.h er kun for visual c++ og kun for sære opsætninger af denne.
10. december 2005 - 19:55
#22
Det er da rigtigt nok, at man skal benytte exe-filen, ikke? For det var nemlig den jeg brugte...
10. december 2005 - 20:12
#23
Ja, man skal bruge .exe filen. Men "03/12-2005 10:49:24" skrev du at "... siger den, at den mangler en DLL-fil".
10. december 2005 - 22:18
#24
Jeg har lige nu ingen "test"-computer at prøbe med, ,em jeg skal skrive så snart jeg ved hvad den melder ud med af fejl :)
10. december 2005 - 23:24
#25
Den siger: En nødvendig .DLL-fil, MSVCP80D.DLL, blev ikke fundet
10. december 2005 - 23:27
#26
og så skal det vel lige siges, at jeg har lavet mit "program"/projekt på XP, og skal tjekkes på en 98'er. Kan det give problemer?
10. december 2005 - 23:30
#27
VCpp er heller ikke installeret på test computeren
10. december 2005 - 23:33
#28
men det burde vel ikke give problemer, da udførelsen/publisheringen sker i COMMAND. Dén fil der mangler ligger på min computer hér: C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c\msvcp80d.dll sammen med følgende filer: C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c\msvcm80d.dll C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c\msvcr80d.dll
10. december 2005 - 23:37
#29
ÆNDRET DEN-datoen tror jeg faktisk også er datoen for, hvornår jeg installerede Cpp, er det en fil som Cpp-scripts behøver for at kunne publisheres?
10. december 2005 - 23:59
#30
Med cpp mener du så VisualC++ ? Jeg er bange for at du bliver nødt til at distribuere dll'en sammen med programmet eller finde en måde at få VisualC++ til at linke uden at behøve den. (Der er ikke scripts i c++.)
11. december 2005 - 13:05
#31
(Der er ikke scripts i c++.) -- Hvad kalder man så selve scripteringen i C++? med cpp mener jeg c++ - vcpp er så visual c++ Men hvordan skal jeg få den til at linke uden at behøve den fil? Kan det eventuelt findes hér på eksperten?
11. december 2005 - 13:41
#32
Når man laver c++ programmer skriver man source kode, dette kompileres til et program der så afvikles. Når man laver html eller python eller bat-filer eller ... afvikles den kode man skriver direkte, og så er det scripts. Med hensyn til dll'en: Jeg er ikke sikker, men jeg tror at den er nødvendig fordi du kompilerer en debug version, du kan måske løse problemet ved at kompilere en release version. Det er også muligt at du kan løse problemet ved at undlade at kompilere til .net.
Kurser inden for grundlæggende programmering