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, 3645 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
Windows 7
Tablett Funktion aktivieren
Frage von Adnan88Windows 71 Kommentar

Hallo, habe ein Win 7 - Pro 32 bit Edition, nun wollte ich einen TouchScreen Monitor nutzen allerdings ist ...

Microsoft Office
Excel Wenn-Funktion
gelöst Frage von freshman2017Microsoft Office2 Kommentare

Moin Moin und guten Abend, ich bräuchte da nochmal Eure Hilfe. Ich habe eine Exelliste mit verschiedenen Werten: Hier ...

PHP
PHP Mail Funktion
Frage von gamerffPHP5 Kommentare

Hallo Forum, ich versuche grade mit der PHP mail() Funktion ein Kontaktformular zu erstellen. Leider kommt beim absenden immer ...

Batch & Shell

Powershell Funktion X innerhalb von Funktion X aufrufen

gelöst Frage von MarabuntaBatch & Shell1 Kommentar

Hi, Ich konnte es jetzt nicht nachstellen. So funktioniert alles gut. Wenn ich aber einige Male falsche Werte eintrage ...

Neue Wissensbeiträge
Humor (lol)
Administrator.de Perlen
Tipp von DerWindowsFreak2 vor 2 TagenHumor (lol)3 Kommentare

Hallo, Heute beim stöbern auf dieser Seite bin auf folgenden Thread aus dem Jahre 2006 gestossen: Was meint ihr? ...

Erkennung und -Abwehr
OpenSSH-Backdoor Malware erkennen
Tipp von Frank vor 3 TagenErkennung und -Abwehr

Sicherheitsforscher von Eset haben 21 Malware-Familien untersucht. Die Malware soll Hintertüren via OpenSSH bereitstellen, so dass Angreifer Fernzugriff auf ...

iOS
WatchChat für Whatsapp
Tipp von Criemo vor 6 TageniOS5 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor!
Tipp von Criemo vor 6 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Heiß diskutierte Inhalte
Grafikkarten & Monitore
PCIe 1.0 Grafikkarte für 3840x2160
Frage von Windows10GegnerGrafikkarten & Monitore29 Kommentare

Hallo, mein Vater hat einen neuen Monitor gekauft, welcher eine native Auflösung von 3840*2160 hat. Diese muss jetzt auch ...

Windows Server
Dienstnamen und oder Deutsche und Englische Beschreibung in services.msc gleichzeitig anzeigen
gelöst Frage von vafk18Windows Server22 Kommentare

Guten Morgen, die Suche nach Diensten in services.msc gestaltet sich immer wieder schwierig, weil mir je nach Aufgabe die ...

Windows 10
Windows Enterprise 1809 Eval nicht bootbar
Frage von Sunny89Windows 1022 Kommentare

Hallo zusammen, bevor ich mich jetzt noch stundenlang rumärger wollte ich euch fragen, ob Ihr die gleichen Probleme habt ...

Linux
Info Monitor für eine Schule
gelöst Frage von CAT404Linux13 Kommentare

Moin, ich möchte einen Infomonitor betreiben; derzeit läuft da ein Windows 10 Rechner bei dem Firefox beim Start in ...