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

Mitglied: lowbyte1

lowbyte1 (Level 2) - Jetzt verbinden

15.08.2007, aktualisiert 21:28 Uhr, 3638 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
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 ...

Switche und Hubs

Welcher Router für meine Funktion !?

gelöst Frage von flashmindSwitche und Hubs11 Kommentare

Hallo, habe hier ein Problem zu lösen an welchem ich schon seit einer gute Woche Verzweifel ! Die Konstallation ...

Neue Wissensbeiträge
Microsoft

Neuigkeiten zu Server und Office 365 was läuft mit was und was nicht

Tipp von AlFalcone vor 3 StundenMicrosoft

Server Betriebssysteme auf dem die verschiedenen Offices nicht supported sind: • Office 365 ist und wird nicht supported auf Windows ...

Speicherkarten

Neuer Speicherkartentyp - zunächst nur für Huawei-Smartphones (künftig auch für Notebooks u. Tablets?)

Tipp von VGem-e vor 4 StundenSpeicherkarten

Servus, als ob das "Chaos" i.S. Speicherkarten noch nicht groß genug wäre?! Evtl. kommt dieser neue Kartentyp bald auch ...

Sicherheit

Diverse D-Link-Router durch drei Schwachstellen kompromittierbar

Information von kgborn vor 6 StundenSicherheit

Hat jemand D-Link-Router in Verwendung? Einige Modelle sind sicherheitstechnisch offen wie ein Scheunentor. Äußerst unschöne Sache, aber nichts neues ...

Hardware

100.000 Mikrotik-Router ungefragt von Hacker abgesichert

Information von 7Gizmo7 vor 20 StundenHardware1 Kommentar

Hallo zusammen, da hier ja öfters mal von Mikrotik gesprochen wird. Trotz Updates klafft eine Sicherheitslücke in Hundertausenden Mikrotik-Routern. ...

Heiß diskutierte Inhalte
Windows 10
Sysprep Fehler im Log kann nicht starten
Frage von grillinator95Windows 1022 Kommentare

Hallo, kann leider SYSPREP nicht mehr starten, Win10 64bit. Logfile sagt folgendes: 2018-10-17 13:44:56, Info SYSPRP 2018-10-17 13:44:56, Info ...

Debian
Linux debian 9 Installation
Frage von Green14Debian16 Kommentare

Hallo zusammen, ich habe mich ein wenig mit Debian auseinandergesetzt und möchte mir eine Standard-Installation als Grundlage für andere ...

Apple
MacBook Pro 2018 mit 8 GB oder 16 GB
Frage von SysAdm81Apple13 Kommentare

Hallo zusammen, ich steh vor der Überlegung mir ein MacBook Pro 13 (2018) zu kaufen. Bzgl. SSD habe ich ...

Outlook & Mail
Outlook schiebt Mails aus Posteingang sofort in den Papierkorb
Frage von hermesOutlook & Mail13 Kommentare

Hallo Outlook Fachleute, wir haben hier das Problem, dass Outlook 2010 alle ankommenden Mails seit zwei Tagen einfach in ...