Zum Inhalt springen

[C++.NET] Dateioperationen


Empfohlene Beiträge

Geschrieben

ifstream f("src/"+this->Job->Text+".rcs");

error C2664: 'std::basic_ifstream<_Elem,_Traits>::basic_ifstream(const char *,std::ios_base::openmode,int)': Konvertierung des Parameters 1 von 'System::String ^' in 'const char *' nicht möglich

diese fehlermeldung bekomme ich leider wegen dem ifstream...

fstream ist included

kannst mir vielleicht mal jemand sagen, was das bedeutet?

Geschrieben

1.) ich bin ein absoluter anfänger bezüglich WindowsForms und Dateihandling in C++

darum keine ahnung, mit welchen befehlen ich arbeiten soll.

2.) ich grabe einen 4 jahre alten thread aus, weil ich die suche benutze und mir das alter egal ist

Geschrieben
1.) ich bin ein absoluter anfänger bezüglich WindowsForms und Dateihandling in C++

darum keine ahnung, mit welchen befehlen ich arbeiten soll.

Was du da hast, ist aber kein "echtes" C++, sondern C++.NET.

Ich trenne das mal ab und schiebe es ins richtige Forum.

Geschrieben

also ich bin immer noch nicht weiter gekommen...habe das komplette dateihandling gelöscht und will nochmal von vorne anfangen.

ich brauche folgende befehle:

1.) datei öffnen (fopen?)

2.) zeile n lesen

3.) datei schließen (fclose?)

wäre super wenn ihr mir mal helfen könntet

Geschrieben

ich habe jetzt folgendes probiert:

FILE *datei;

datei = fopen("src/"+this->Job->Text+".rcs","r");

fclose(datei);

dabei bekomme ich folgende fehlermeldung:

error C2664: 'fopen': Konvertierung des Parameters 1 von 'System::String ^' in 'const char *' nicht möglich

den stört auf jeden fall dass ich den pfad dort zusammen baue...

darum habe ich das extern gemacht:

FILE *datei;

const char *pfad = "src/"+this->Job->Text+".rcs";

datei = fopen(pfad,"r");

dabei bekomme ich dann den fehler:

error C2440: 'Initialisierung': 'System::String ^' kann nicht in 'const char *' konvertiert werden

ich habe schon viel hin und her probiert, komme aber zu keiner lösung...vielleicht kan mir ja jemand helfen

Geschrieben
mit dem StreamReader hab ich die datei schonmal geöffnet bekommen...nur leider bekomme ich es jetzt nicht hin eine bestimmte zeile auszulesen...so ein mist aber auch

So ein Beitrag hilft dir nicht weiter, es sei denn, du willst nur Frust ablassen. Dazu ist das Forum aber nicht da.

Denn bei "ich bekomme es nicht hin" kann dir niemand helfen. Das ist keine ausreichende Fehlerbeschreibung. Zeig, was du gemacht hast, und sag, was der Compiler dazu sagt.

Und lass das mit fopen ;)

Geschrieben

ok...ich muss zugeben, dass das einfach nur ein frustbeitrag war...aber naja...hab mir auch gedacht, dass mir vielleicht jemand den befehlt sagen könnte um eine einzelne zeile auszulesen...

in C# gibt es einen befehl ReadLine()

den gibt es leider in C++ nicht...oder ich finde ihn nur nicht

ich habe im moment:

String^ pfad = "src/"+this->Job->Text+".rcs";

FileStream^ datei = gcnew FileStream( pfad,FileMode::Open );

for(int i=0;i<stats.jlvl;i++) {

//this->comboBox1->Text = zeile i;

}

datei->Close();

was ist denn an fopen so schlimm?

Geschrieben
hab mir auch gedacht, dass mir vielleicht jemand den befehlt sagen könnte um eine einzelne zeile auszulesen...
Strenggenommen gibt es in dieser Sprache keine Befehle.

Zum komfortablen Auslesen brauchst du noch einen Reader:

FileStream^ datei = gcnew FileStream( pfad, FileMode::Open );
StreamReader^ reader = gcnew StreamReader( datei );
while( !reader->EndOfStream )
{
Console::WriteLine( reader->ReadLine() );
}[/code]

was ist denn an fopen so schlimm?
Du solltest bei deinem Kenntnisstand nicht auch noch unterschiedliche Sprachen durcheinanderwürfeln, sonst verlierst du noch schneller den Überblick :)
Geschrieben

das dies mein erstes windows programm ist...könntest du mir vielleicht verraten, was ich machen muss um die exe ans laufen zu bekommen?

als einzigstes include habe ich "string"

wenn ich das programm verschicken bekommen diese personen fehlermeldungen wie:

"Die Anwendung konnte nicht richtig initalisiert werden (0xc0000135). Klicken Sie auf "OK", um die Anwendung zu beenden."

oder:

"Diese Anwendung konnte nicht gestartet werden, weil die Anwendungskonfiguration nicht korrekt ist. Zur Problembehebung sollten Sie die Anwendung neu installieren."

einfach eine kurze anleitung wäre super ;)

Geschrieben

und noch eine frage...man kann nicht wirklich einen string in ein int casten oder?

also es geht darum, dass ich eine datei öffne, zeile 0 bis n schrittweise abarbeiten will und in dieser datei stehen zeilenweise zahlen, die angeben, welcher wert incrementiert werden soll.

6

4

3

5

1

so zum beispiel.

dann soll wenn n=3 ist

wert6++

wert4++

wert3++

gemacht werden.

wie könnte ich das lösen?

Geschrieben


        FileStream^ datei = gcnew FileStream( pfad,FileMode::Open );

        StreamReader^ reader = gcnew StreamReader( datei );

        for(int i=0;i<stats.jlvl;i++) {

          ??? text = reader->ReadLine();

          if(text=='1') {

            bonus.Str++;

          }else if(text=='2') {

            bonus.Agi++;

          }

        }

        datei->Close();

      }

irgendwie muss ich den reader in ein format casten, welches ich mit chars, strings oder integers vergleichen kann...wenn mir einer sagen könnte, wie das geht wäre das schonmal super^^

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