Was stimmt nur nicht ??? !!



  • #include <stdio.h>

    int main()
    {

    FILE *datei_ptr;
    char *name="eingabe";

    datei_ptr=fopen(name,"r");

    if (datei_ptr==NULL)

    {
    printf("FEHLER BEI OEFFNEN DER DATEI %s \n",name);
    printf("(DATEI GGF. NICHT VORHANDEN) \n");
    return(-1);
    }

    else

    {
    fclose(datei_ptr);
    return(0);
    }
    }



  • und wo tut weh ??



  • Ich muss eine Datei oeffnen aber das geht einfach nicht.
    Er springt immer in die ELSE - Schleife und beendet mir das Programm.

    Eine Abfrage, wie die Datei heissen soll, kommt auch nicht.



  • Äh ja,
    Fehler nummer 1: Das ist ANSI C und kein C++.
    Fehler nummer 2: if/else ist keine Schleife sondern eine Verzweigung
    Fehler nummer 3: Du hast keine Code-Tags verwendet
    Fehler nummer 4: Wo ist die Abfrage die kommen soll?
    Fehler nummer 5: Du hast den Debugger offensichtlich nicht verwendet um mal zu prüfen, welche Datei er zu öffnen versucht?

    -junix



  • Möglicher Fehler Nummer 6: Gibt es die Datei überhaupt. Wenn ja: Liegt sie im richtigen Verzeichnis?



  • so im c++

    #include <iostream>
    
    using namespace std;
    
    int main() 
    { 
    
    	FILE *datei_ptr; 
    	char *name="eingabe"; 
    
    	datei_ptr=fopen(name,"r"); 
    
    	if (datei_ptr==NULL) 
    
    	{ 
    		cout<<"FEHLER BEI OEFFNEN DATEI: "<<name<<endl; 
    		cout<<"(DATEI GGF. NICHT VORHANDEN) \n";
    		return(-1); 
    	} 	
    	else 		
    	{ 
    		cout<<"Datei vorhanden"<<endl;
    		fclose(datei_ptr); 
    		return(0); 
    	} 
    }
    


  • 007ski schrieb:

    so im c++

    Nope... immernoch zum Grossteil C... und besser ist das jetzt auch ned. Aber warten wir doch mal auf die Antwort von Chris.

    -junix



  • Chris233 schrieb:

    Er springt immer in die ELSE - Schleife und beendet mir das Programm.

    Was ist daran verkehrt, zu else zu springen? Das bedeutet immerhin, dass die Datei geöffnet wurde, und mehr kannst du von dem Programm eigentlich nicht erwarten.

    (Troll?)



  • junix schrieb:

    007ski schrieb:

    so im c++

    Nope... immernoch zum Grossteil C... und besser ist das jetzt auch ned.
    -junix

    ja ok abgesehen von fclose und fopen 😃



  • 007ski schrieb:

    ja ok abgesehen von fclose und fopen 😃

    und dem FILE* und dem char* 😉 dafür gibts nämlich auch noch besseres. (ok, char* würd ich gelten lassen, da man später nit umwandeln muss um die datei zu öffnen) __



  • Das er sich schliesst ist bei dem Quelltext normal, das er ins else reingeht ist bei dem Quelltext normal und das kein Eingabefenster kommt wo steht "welche Datei denn jetzt öffnen" auch, woher sollte das Programm das auch wissen das du son Ding haben willst? Du solltest schon programmieren was passieren soll...


Anmelden zum Antworten