Shadowman Geschrieben 11. Januar 2007 Teilen Geschrieben 11. Januar 2007 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 11. Januar 2007 Teilen Geschrieben 11. Januar 2007 Warum benutzt du fstream in einem Managed-C++-Projekt? Das .NET-Framework bietet doch eigene Klassen für Dateioperationen. Und warum gräbst du dazu einen fast vier Jahre alten Thread aus? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Shadowman Geschrieben 11. Januar 2007 Autor Teilen Geschrieben 11. Januar 2007 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 11. Januar 2007 Teilen Geschrieben 11. Januar 2007 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Shadowman Geschrieben 12. Januar 2007 Autor Teilen Geschrieben 12. Januar 2007 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 12. Januar 2007 Teilen Geschrieben 12. Januar 2007 Reading Text from a File Der Beispielcode ist zwar in VB/C#, aber das Prinzip ist in C++.NET ja dasselbe. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Shadowman Geschrieben 12. Januar 2007 Autor Teilen Geschrieben 12. Januar 2007 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Shadowman Geschrieben 12. Januar 2007 Autor Teilen Geschrieben 12. Januar 2007 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 12. Januar 2007 Teilen Geschrieben 12. Januar 2007 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Shadowman Geschrieben 12. Januar 2007 Autor Teilen Geschrieben 12. Januar 2007 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 12. Januar 2007 Teilen Geschrieben 12. Januar 2007 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Shadowman Geschrieben 12. Januar 2007 Autor Teilen Geschrieben 12. Januar 2007 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 12. Januar 2007 Teilen Geschrieben 12. Januar 2007 Da dein Programm ein .NET-Programm ist, muss auf einem Rechner, auf dem das Programm ausgeführt werden soll, das passende .NET Framework (in deinem Fall Version 2.0) installiert sein. Ohne geht's nicht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Shadowman Geschrieben 16. Januar 2007 Autor Teilen Geschrieben 16. Januar 2007 was ist denn wenn der benutzer nicht die möglichkeit hat .net zu installieren? kann ich nicht irgendwie die benötigten dateien selbst mitliefern? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 16. Januar 2007 Teilen Geschrieben 16. Januar 2007 Du kannst das .NET Framework 2.0 Redistributable Package mit ausliefern. Installiert werden muss es trotzdem. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Shadowman Geschrieben 16. Januar 2007 Autor Teilen Geschrieben 16. Januar 2007 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Shadowman Geschrieben 16. Januar 2007 Autor Teilen Geschrieben 16. Januar 2007 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^^ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.