Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

funktion fclose

Frage Entwicklung C und C++

Mitglied: lowbyte1

lowbyte1 (Level 2) - Jetzt verbinden

15.08.2007, aktualisiert 21:28 Uhr, 3611 Aufrufe, 4 Kommentare

Verstehe nicht das bei der Ausführung des Programms immer ein "read error speicheradresse ? verwaist auf speicheradresse ?" kommt als Popup!
01.
#include <stdio.h> 
02.
int system(); 
03.
int fclose(fp); 
04.
int exit(); 
05.
 
06.
int main() 
07.
08.
	FILE *fp; 
09.
 
10.
	fp = fopen("test.txt", "a+"); 
11.
 
12.
	if(fp = NULL) 
13.
		printf("kann datei nicht eröffnen.\n"); 
14.
	else 
15.
		fclose(fp); 
16.
                                system("test.txt"); 
17.
	return 0; 
18.
 
19.
}
Die "test.txt" - Datei wird schon angelegt ,wenn sie nicht existiert. Doch wird bei der Funktion "fclose" ein Fehler von Windows ausgegeben in einem Popup wie gesagt!
Ich möchte die Datei schließen damit ich sie dann aufrufen kann: Bsp.: system("test.txt");

Aber wo ist der Fehler?
Mitglied: Biber
15.08.2007 um 14:51 Uhr
Moin laubyte1,

ich denke nicht, dass die fclose()-Function in diesem Fall dafür verantwortlich ist.
Das if-else-Konstrukt wird wie geschrieben abgearbeitet, aber nicht wie gedacht.

Ich streu mal ein paar geschweifte Klammern ein.
Und das Filehandle, der Integer-Returnwert von fopen() kann nienicht NULL sein.
Wenn fopen in die Grütze geht, dann wird FALSE zurückgegeben. Zumindest war es die letzten 40 Jahre so..

01.
#include <stdio.h> 
02.
int system(); 
03.
int fclose(fp); 
04.
int exit(); 
05.
 
06.
int main() 
07.
08.
	FILE *fp; 
09.
 
10.
	fp = fopen("test.txt", "a+"); 
11.
 
12.
	if(!fp) { 
13.
		printf("kann datei nicht eröffnen.\n"); 
14.
 
15.
	 } else { 
16.
		fclose(fp); 
17.
                                system("test.txt"); 
18.
19.
	return 0; 
20.
 
21.
}
Gruß
Biber
Bitte warten ..
Mitglied: lowbyte1
15.08.2007 um 19:52 Uhr
danke für deine hilfe
im nachhinein frag ich mich selbst was ich da gemacht habe..
aber danke biber du bist eine klasse für dich !!!
Bitte warten ..
Mitglied: lowbyte1
15.08.2007 um 20:15 Uhr
hallo

noch eine frage

in meinem C buch heisst es da wen die datei nicht geöffnet werden kann,
liefert fopen() den NULL Zeiger !!

stimmt das so.

wäre für jede Professionele antwort dankbar..


es gibt nur eins 0 or 1 [lowbyte]
Bitte warten ..
Mitglied: Biber
15.08.2007 um 21:28 Uhr
Moin lowbyte,

jepp, Dein C-Buch scheint recht zu haben, wie eine nicht-repräsentative Suchmaschinenbefragung zeigt.
Mehrheitlich wird dort geschrieben, dass es entweder einen Pointer auf eine FILE-Struktur zurückgibt oder eben einen NULL-Pointer.
Was ja auch einleuchtend erscheint.
Ist mir selten aufgefallen, weil ich meist keine explizite Prüfung gemacht habe, sondern eher diese Mimik..
01.
#include <stdio.h> 
02.
 
03.
int main(void) 
04.
05.
    char buffer[256]; 
06.
    FILE * handle; 
07.
	 
08.
    handle = fopen("whatever.txt","r"); 
09.
	 
10.
    while (!feof(handle)) 
11.
12.
        fgets(buffer, 256, handle); 
13.
        printf("%s",buffer); 
14.
15.
	 
16.
    fclose(handle); 
17.
     
18.
    return 0; 
19.
}
...wobei es dann eigentlich natürlich (im Nachhinein betrachtet) richtiger gewesen wäre, die Variable "handle" besser "fileptr" zu nennen.
Und noch eigentlicher müsste es dann unten heißen:
01.
.. 
02.
if (handle != NULL) fclose(handle); 
..statt nur einem "fclose(handle);"

Na ja, die Macht der Gewohnheit...
...oder war das "das macht die Gewohnheit.."?? *grübel*

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Entwicklung
Powershell: Timer-Funktion und Progressbar-Funktion
gelöst Frage von SaschaRDEntwicklung8 Kommentare

Hallo zusammen, ich benötige bei 2 Funktionen in Powershell etwas Unterstützung: Fall-1: Ich habe eine Timer-Funktion die eine Anzahl(X) ...

Batch & Shell
Powershell: Parameter einer Funktion soll eine Funktion aufrufen
gelöst Frage von SaschaRDBatch & Shell3 Kommentare

Hallo zusammen, mein Ziel ist es die Zeitdauer einer Prozesses zu ermitteln. Dafür ist die folgende Funktion zuständig:Leider wird ...

PHP
PHP Funktionen
Frage von tobmesPHP3 Kommentare

Hi, ich bin es mal wieder ;) Ich habe jetzt glaube ich ein kleines Verständnisproblem mit Funktionen und Rückgabewerten ...

JavaScript
Javascript Funktionen
gelöst Frage von agowa338JavaScript5 Kommentare

Hallo, habe gerade mehrere schönen Javascripte per mail bekommen und frage mich gerade, was eigentlich folgendes in einem Javascript ...

Neue Wissensbeiträge
Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 4 StundenInternet3 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registierunf von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 11 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 22 StundenWindows 103 Kommentare

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 1 TagSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement16 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless16 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...