Zum Inhalt springen

Stream-Funktion funktioniert nicht


Empfohlene Beiträge

Geschrieben

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:

Geschrieben
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.

Geschrieben

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"!

Geschrieben

@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?

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...