Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi,

ich komm ni weiter, mein Problem sieht folgender Maßen aus:

#include <stdio.h>

#include <stdlib.h>

void main()

{

FILE *datei_ptr;

int pw;

char *ein_datei="test.txt";

datei_ptr=fopen(ein_datei,"r");

fscanf(datei_ptr,"%d",&pw);

fclose(datei_ptr);

printf("pw");

}

Ich möchte aus test.txt die Zeichenfolge 123456789 auslesen die auf die Variable pw übergeben und in der Konsole anzeigen. Beim kompilieren gibts keine Fehler aber nach dem ausführen kommt ne Fehlermeldung; seh ich den Fehler ni oder gibts keinen?

Ich danke für die Aufmerksamkeit

Geschrieben

Hallo,

wenn in Deiner Datei tatsächlich die Zeichenfolge steht, kann Dein Code nicht laufen. Integers werde nicht im Klartext gespeichert, sondern als 4 Byte. Du musst in diesem Fall erst einen String (char *) einlesen und diesen dann mit atoi() in ein int konvertieren.

Nic

Geschrieben

Also das stimmt nicht. fscanf konvertiert das irgendwie intern. Sonst würde

die Funktion ja auch keinen Sinn machen.:)

Habs extra ausprobiert;)

Ich glaube eher das das Programm die Datei nicht finden kann. Überprüfe nach dem

öffnen mal ob dein Dateizeiger gleich NULL ist, dann ist nämlich ein Fehler

aufgetreten.

Geschrieben

Hallo,

stimmt. Wo du recht hast, hast Du recht :). Ich hatte völlig übersehen, dass fscanf die Konvertierung bei Bedarf für den Nutzer durchführt. In dem Fall sollte die Zahl eigentlich korrekt eingelesen werden. Wie lautet denn die Fehlermeldung? Du solltest auch die Rückgabewerte - insbesondere von fopen - überprüfen, ob ein Fehler aufgetreten ist.

[Edit]

Da war einer schneller ;)

Nic

PS:

main liefert ein int zurück und ist nicht vom typ void!

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...