Unix Programmierung & C++ ?!



  • Hallo

    Wie manni66 schon erwähnt hat, solltest du dir den Hinweis mal durchlesen, da steht nämlich drin, wie du an die Parameter kommst, die deinem fertigen Programm übergeben werden.

    Nochmal explizit, die 2x Parameter an der main-Funktion sind hier sehr wichtig. Du musst nicht an die Konsole kommen, diese liefert es dir direkt mit.

    Solltest du auch damit nicht weiterkommen hier noch ein Link

    Der Klasse ReadFile gibts du dann den Dateinamen, denn du über die 2 oben genannten Parameter ermittelt hast, im Konstruktorargument um die Datei zu öffnen und deren Inhalt zu ermitteln.

    Mfg mdn



  • Suche im Internet mit einer Suchmaschine deiner Wahl nach: c++ main argc argv
    (ja, alle vier Wörter auf einmal)



  • Ja das habe ich ja auch alles soweit verstanden, aber wie soll man denn das Programm dazu kriegen, diese & jene Datei zu öffnen und zu lesen bzw nur auszulesen und zu zählen..

    Also der Zugriff auf die Datei fehlt mir irgendwie komplett..



  • huwul schrieb:

    Also der Zugriff auf die Datei fehlt mir irgendwie komplett..

    Was macht ReadFile?



  • Die Datei öffnen die als letzter Parameter von mir angegeben wird und danach wieder schließen und dazwischen muss ich mich einhaken, allerdings fehlen mir halt die ganzen Funktionen...

    Sprich ich weiß nicht wie ich wenn ich jetzt abc.txt öffne die Zeilen auslesen kann von dieser speziellen Datei.

    Wobei das auch nicht zu 100% stimmt, da hier kein wirklicher Zugriff erfolgt, eigentlich sollte er ja ausgeben wenn ich eine Datei habe, die es dort nicht gibt, dass es die Datei nicht gibt, was ebenfalls nicht erfolgt..



  • Was macht ReadFile::GetChar()?



  • Einen Buchstaben speichern und zurückgeben, welcher weiß ich nicht..

    Das Ding ist, ich muss ReadFile irgendwie den Filenamen übergeben, und so wie es aussieht mit dem string f.
    Allerdings scheint dies nicht ganz zu funktionieren...

    #include <iostream>
    #include "ReadFile.h"
    using namespace std;
    
    int main(int argc, char** argv)
    {
    	for(int i=0; i<argc; i++){
    	cout << argv[i]<<endl;
    	}
    	string f = argv[argc];
    	ReadFile read(string f);
    	read.GetChar();
    }
    

    Ebenso, wie ich mit der Instanz von ReadFile die Funktzion GetChar nicht nutzen kann, da sie angeblich nicht Member der Klasse wäre..



  • huwul schrieb:

    Einen Buchstaben speichern und zurückgeben, welcher weiß ich nicht..

    nicht einen, sondern den nächsten

    string f = argv[argc]; // das ist einer zu weit
    	ReadFile read(string f); // warum string?
    

    Grundsätzlich wäre noch anzumerken, dass ReadFile von einem Dilettanten geschrieben wurde. Der Konstruktor wird keinen Fehler feststellen und GetChar() ist fehlerhaft. Der Destruktor ist überflüssig.



  • Ja das stimmt, habe das ausversehen von einem Fehlversuch gerade kopiert..

    okay also wie ich das verstehe:

    ReadFile read( f);
    

    übergibt den eingegebenen Dateinamen an ReadFile?

    Das tut mir leid, derjenige Dilettant hat uns ja auch zu dem Thema nichts gesagt...

    Tut mir echt sehr leid, aber ich kriegs nicht in den Kopf rein, wie ich dann auf die Zeilen z.B. zugreifen kann..
    Das hier war mein verzweifelter Versuch aber durchblicken tue ich das nicht..

    void ReadFile::count()
    {
    	string s;
    	getline(file, s);
    	cout << s << endl;
    }
    

    ( Mal so am Rande, das geilste daran ist auch noch, wer das nicht schafft, darf seine Klausur nicht schreiben, obwohl explizit gesagt wurde, dass so etwas niemals hier drankommen wird.. )



  • Du kannst keine Zeilen lesen. Du kannst aber das nächste Zeichen lesen. Und das sogar solange, bis eof erreicht wird.


Anmelden zum Antworten