Fertiger Quellcode will nicht funktionieren. HILFE !!



  • Ok, zu spät.

    Auch das fopen für "mittelwerte_M_N.txt" muss eine Erfolgskontrolle bekommen.
    Mit perror bekommst du auch winen Hinweis, was schief gegangen ist.



  • Es wird die zu Beginn eine kleine Spielerei abgefragt, ob man eine Datei einlesen möchte oder nicht. drückt man eine 1 dann und es wird die Vorgabedatei eingelesen.
    Anschließend wird in der Konsole ein kleiner text ausgegeben, dass quasi alles ok war. Im Ordner wo sich die Textdatei befindet wird dann unter Windows eine neue Textdatei erzeugt. Das selbe Schema läuft auch bei Linux ab nur, dass keine Textdatei erzeugt wird.

    Ich habe es bereits mit ein paar ausgaben versucht, ob vllt wegen Eclipse oder wegen Linux in eine Schleife nicht reingegangen wird, aber alle Ausgaben wurde in der Konsole ausgegeben. Somit liegt es wohl nicht an der Logik des Programmablaufs würde ich nun mal so behaupten.



  • Habe es soeben mit "perror" gemacht und wie zuvor kam die Ausgabe, dass es erfolgreich war ("success").



  • Ich habe es eben verwechselt mit dem perror und an einer falschen Stelle geschrieben, wo die Vorgabedatei eingelesen wird.

    Ich habe es nun an der Stelle wo die Datei erzeugt werden sollte, aber es kam nichts.

    //Datei schreiben und befüllen mit fprintf
        tabelle = fopen("mittelwerte_M_N.txt","w+");
    
        if(tabelle==NULL) {
        perror("klappt");
        } else {
        perror("klappt nicht");
        }
    


  • Hast du es aus der IDE gestartet?
    Wenn ja öffne mal die Kommandozeile, wechsel zum desktop und starte das Programm dort.



  • Was soll IDE sein ?

    Ich habe es jetzt gerade über einen Konsolenaufruf versucht und das programm so gestartet und das wurde mir angezeigt.

    > Willkommen zur Messwerterfassung <

    Bitte waehlen Sie einen Modus aus.
    (1) Lesen der Textdatei.
    (2) Beenden des Programms.

    Eingabe: 1

    Die Datei konnte geoeffnet werden.

    Speicherzugriffsfehler (Speicherabzug geschrieben)
    student@student-virtual-machine:~/Arbeitsfläche$



  • Nicht übersehen: Beitrag vom 14:14:06 11.01.2016
    Irgendwas stimmt da nicht, Warnungen an!



  • Was soll Zeile 66?
    Die Schleife wird sowieso nur einmal ausgeführt, sofern keine Leerzeichen oder Umbrüche in der Datei sind.

    Ausserdem kommt es dort zu einem Überlauf wenn die Daten nicht in das Array passen.

    IDE: integrated development environment



  • Bitmapper schrieb:

    Was soll Zeile 66?
    Die Schleife wird sowieso nur einmal ausgeführt, sofern keine Leerzeichen oder Umbrüche in der Datei sind.

    Ausserdem kommt es dort zu einem Überlauf wenn die Daten nicht in das Array passen.

    Cobain hat scanf nicht verstanden, wollte es unbedingt mit strtok machen und hat solange rumgespielt bis das Ergebnis stimmte.
    Er hat nicht verstanden was und warum es passiert.

    Das sieht man auch daran, dass er zählt, wie oft strtok läuft, danach aber wieder mit festen Werten arbeitet



  • Cobain schrieb:

    Was soll IDE sein ?

    Ich habe es jetzt gerade über einen Konsolenaufruf versucht und das programm so gestartet und das wurde mir angezeigt.

    > Willkommen zur Messwerterfassung <

    Bitte waehlen Sie einen Modus aus.
    (1) Lesen der Textdatei.
    (2) Beenden des Programms.

    Eingabe: 1

    Die Datei konnte geoeffnet werden.

    Speicherzugriffsfehler (Speicherabzug geschrieben)
    student@student-virtual-machine:~/Arbeitsfläche$

    Machst du zwischen "Die Datei konnte geoeffnet werden." und "Die Tabelle mit den erzeugten Dateien wurde erfolgreich erstellt." noch irgendwelche anderen Ausgaben?
    Z.B. in
    Zeile 70: puts("Fertig mit einlesen");
    Zeile 75: printf("Token gefunden <%s>\n", ptr);
    Zeile 82: puts("EINLESEN ENDE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
    usw.



  • Ich weise nochmal auf die Warnungen hin... atoi() wird mit einem Integer aufgerufen, dass das nicht passen kann sieht man doch schon am Funktionsnamen.


Anmelden zum Antworten