Debug Assertion Failed!



  • Hallo,
    ich habe folgendes Problem. ich möchte einfach etwas in eine datei schreiben. Das ganze sieht so aus:

    char wer1[50], pfad[50], befehl[50], msg[50], who[50], datei[50];
    			 char abs[50],name[50], speicher[50];
    			 if(msg4 == 1){
    				 msg4 = 0;
    			 stream = fopen("c:\\windows\\temp\\temp.temp","w");
    			 fprintf(stream,"%s",wer->Text);
    			 fclose(stream);
    			 stream = fopen("c:\\windows\\temp\\temp.temp","r");
    			 fgets(wer1, 50 ,stream);
    			 fclose(stream);
    			 strcpy(pfad,"\\\\");
    			 strcat(pfad,wer1);
    			 strcat(pfad,"\\Lan Tools\\");
    
    			 stream = fopen("c:\\windows\\temp\\temp.temp","w");
    			 fprintf(stream,"%s",was->Text);
    			 fclose(stream);
    			 stream = fopen("c:\\windows\\temp\\temp.temp","r");
    			 fgets(wer1, 50 ,stream);
    			 fclose(stream);
    
    			 strcpy(befehl,pfad);
    			 strcat(befehl,"befehl.lan"); /* Variable für befehlspfad*/
    
    			 strcpy(msg,pfad);
    			 strcat(msg,"msg.lan"); /* Variable für msg pfad*/
    
    			 strcpy(who,pfad);
    			 strcat(who,"who.lan"); /* Variable für who pfad*/
    
    			 stream = fopen("c:\\windows\\temp\\temp.temp","w");
    			 fprintf(stream,"%s",System::Environment::GetEnvironmentVariable("Computername"));
    			 fclose(stream);
    			 stream = fopen("c:\\windows\\temp\\temp.temp","r");
    			 fgets(abs,50, stream);
    			 fclose(stream);
    
    			 stream = fopen(msg,"w");
    			 fprintf(stream,"%s",was->Text);
    			 fclose(stream);
    			 stream = fopen(who,"w");
    			 fprintf(stream,"%s",abs);
    			 fclose(stream);
    			 stream = fopen(befehl,"w");
    			 fprintf(stream,"msg");
    			 fclose(stream);
    
    			this->wer->ReadOnly = true;
    			this->was->ReadOnly = true;
    			this->wer->Text = "";
    			this->was->Text = "";
    			this->text->Text = "-";
    			this->ok->Enabled = false;
    			 }
    

    sitze jetzt schon seit mehreren Stunden daran den fehler zu finden 😕 😕 😕 . Ich bekomme wenn ich das ausführe die Fehlermeldung:

    Debug Assortion Failed!

    program: ...
    File: fprintf.c
    Line: 55

    Expression: (str != NULL)

    For more information.......

    ich finde einfach den fehler net :xmas2:

    danke schon mal für die Antworten.

    gruß,
    Steffen



  • wer->Text ist NULL
    was->Text ist NULL



  • Nach C++ sieht das aber nicht aus 😕



  • C-Forum bitte ... das tut sich hier keiner an (aja dein Codestyle ist beschissen 😃 ) ...



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum ANSI C verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • (D)Evil schrieb:

    C-Forum bitte ... das tut sich hier keiner an (aja dein Codestyle ist beschissen 😃 ) ...

    Ach, das ist C? Komisch... 🙄



  • Hmm ja bisauf, dass er mit einem this-Zeiger arbeitet, ist es das.



  • (D)Evil schrieb:

    Hmm ja bisauf, dass er mit einem this-Zeiger arbeitet, ist es das.

    ...und wieso darf man in C keinen this-zeiger haben?
    🙂



  • (D)Evil schrieb:

    Hmm ja bisauf, dass er mit einem this-Zeiger arbeitet, ist es das.

    Den ::-Operator kennt C aber auch nicht. Und interssanterweise kennt C++ sämtliche der hier verwendeten Funktionen. Mit anderen Worten: Nein, das ist kein C. Es ist nicht automatisch C nur weil Funktionen verwendet werden, die in C++ nicht schick sind. Und es ist nicht automatisch C nur weil der Code frickelig ist. Kein C-Compiler der Welt übersetzt obigen Code. Bei C++ sieht das etwas anders aus. Nochmal: Das ist kein C.



  • Dann soll der Threadersteller mal sagen, welchen Compiler er mit diesem grausamen Code gequält hat.
    Und "System::Environment::GetEnvironmentVariable(...)" ist jedenfalls auch kein Standard C++.

    Ansonsten ab in die Tonne und vernünftig in C oder C++ programmieren.



  • Und "System::Environment::GetEnvironmentVariable(...)" ist jedenfalls auch kein Standard C++.

    Stimmt. Ist aus C++/CLI (.NET Framework).
    Simon


Anmelden zum Antworten