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?

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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