Veröffentlicht 18. Januar 200223 j warum kann folgender Code nicht richtig im C++ Builder compiliert werden??? Es tretten immer wieder Fehler auf, wenn ein File-Stream geöffnet werden soll auf //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include <iostream.h> #include <istream.h> #include <fstream.h> #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { SIZE z; // hier, kann nicht compiliert werden ... ostream out("test",ios_base::in|ios_base::out); cout << "test"; GetTextExtentPoint32( GetDC(Edit1->Handle), Edit1->Text.c_str(), strlen(Edit1->Text.c_str()), &z); Label1->Caption = z.cx; Label2->Caption = z.cy; } //--------------------------------------------------------------------------- es kommt immer die Fehlermeldung: [C++ Error] Unit1.cpp(24): E2285 Could not find a match for 'ostream::basic_ostream(char *,int)'. [C++ Warning] Unit1.cpp(36): W8004 'out' is assigned a value that is never used.:confused: :confused: :confused: :confused:
21. Januar 200223 j Original geschrieben von paule22 [schnipp] Es tretten immer wieder Fehler auf, wenn ein File-Stream geöffnet werden soll auf [schnapp] ostream out("test",ios_base::in|ios_base::out); [schnipp] ostream ist kein Filestream. Nimm ofstream.
21. Januar 200223 j da mein Problem, denke ich ganz gut zudem Thema passt, poste ich es mal hier rein.Ich habe eine Funktion, in der möchte ich eine textdatei, zeilenweise auslesen, die Funktion schaut so aus: ----------------------------------- void SNMPSystem::get_SNMPSystem(void) { SNMPSystem ss; int pos,position, zaehler,bedingung; ifstream einlesen("/home/dirk/mysnmp/cpp_snmp/snmp.conf"); if (!einlesen) { cerr << "Fehler: Datei kann nicht geoeffnet werden!\n"; } while(!einlesen.eof()) { einlesen.getline(ss.zeile,250); cout << "\n" << ss.zeile; } } ------------------------------------------------- beim ausführen des Programms bricht es aber immer an folgender Stelle ab mit einem "Speicherzugriffsfehler": einlesen.getline(ss.zeile,250); Wieso? ss.zeile, ist ein char-pointer der Klasse "SNMPSystem"!
21. Januar 200223 j hat ich erledigt.........."zeile" war vom Typ "char", wenn ich nen string draus mach gehts...
21. Januar 200223 j @dirk12345: Jetzt muss ich aber doch mal fragen, warum in aller Welt Du in einer Member-Funktion Deiner Klasse eine weitere Instanz der Klasse erzeugst, nur um auf den zeile-Member zuzugreifen. Warum nimmst Du nicht den zeile-Member der Instanz, zu der die Funktion gehört?
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.