16. juni 2004 - 23:12
Der er
8 kommentarer og 1 løsning
Filhåndtering i C++ ved hjælp af C++Builder 6
Jeg brugte følgende kode til at lave en consol applikation - dette er jeg nu ved at lave om til noget mere grafisk. Jeg brugte før denne kode: #include <iostream.h> #include <fstream> #include <string> #include <stdio.h> int main() { string passwd; cout << "Enter new password:" << endl; cin >> passwd; cout << "COM maked..." << endl; ofstream f("c:\\password.bat"); f << passwd << endl; f.close(); system("c:\\commaker.exe c:\\password.bat"); system("pause"); return 0; } Jeg har nu det problem at min kode mht filhåndteringen ikke accepteres af C++Builder 6. Hvordan åbner man en fil, smider en linje ind i denne - og til sidst lukker denne, hvis man bruger C++Builder 6? Og hvordan eksekverer man en system-kommando?
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
ofstream etc. skal også virke i C++ Builder hvis du husker: #include <fstream> system skal også virke i C++ Builder hvis du husker: #include <cstdlib>
Får denne fejl: [C++ Error] ComMakerUnit.cpp(21): E2094 'operator<<' not implemented in type 'ofstream' for arguments of type 'AnsiString' Jeg har følgende i min header: #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> #include <iostream.h> #include <fstream> #include <cstdlib> #include <string> #include <stdio.h>
Prøv og erstat: f << xxx; med: f << xxx.c_str();
Min 'nye' kode ser sådan ud: void __fastcall TForm1::KnapClick(TObject *Sender) { ofstream f("c:\\password.bat"); f << "test::" + Passwd->Text << endl; f.close(); system("c:\\commaker c:\\password.bat"); } Hvor 'Passwd' er en TEdit
f << "test::" + Passwd->Text.c_str() << endl;
[C++ Error] ComMakerUnit.cpp(21): E2085 Invalid pointer addition
f << "test::" << Passwd->Text.c_str() << endl;
Det hjalp. Takker.. Husk et svar :)
Kurser inden for grundlæggende programmering