Probleme beim einlesen einer Datei
-
Der Compiler gibt auch Warnungen aus.
In deinem Fall in etwa:"Benutzung einer nicht initialisierten Variablen"
Solche Warnungen musst du entfernen.
Warum ist
ch[]
vom Typint
?
-
DirkB schrieb:
Solche Warnungen musst du entfernen.
Das ist einfach, das kann ich! Man braucht bloß mit den richtigen Optionen zu compilieren.
-
So einen Spruch habe ich befürchtet.
-
Also ich habe diese Fehlermeldungen nicht,ich habe nur die Fehlermeldung: '7:22 C:\Users\*****\Desktop\main.c [Warning] unknown escape sequence '\C' ' Ist diese Fehlermeldung schlimm? Ich denke, dass der das schon annimmt, nur weil das Backslash meistens für Befehle benutzt wird, etwas meckert. Oder etwa doch nicht?
Ich habe Integer genommen, weil der größte Teil des Textinhaltes aus Zahlen besteht und nur durch Kommas getrennt wird, die C dann automatisch als ASCII-Code annimmt. Dadurch wird das Programm etwas effektiever.
-
B0N3 schrieb:
Also ich habe diese Fehlermeldungen nicht,ich habe nur die Fehlermeldung: '7:22 C:\Users\*****\Desktop\main.c [Warning] unknown escape sequence '\C' ' Ist diese Fehlermeldung schlimm? Ich denke, dass der das schon annimmt, nur weil das Backslash meistens für Befehle benutzt wird, etwas meckert. Oder etwa doch nicht?
Nein, der Backslash wird vor allem für Escape-Sequenzen verwendet, um nicht darstellbare Zeichen zu symbolisieren. Wenn du ihn als Zeichen in einer String-Konstante verwenden willst, mußt du ihn auch escapen als "\\C..."
Ich habe Integer genommen, weil der größte Teil des Textinhaltes aus Zahlen besteht und nur durch Kommas getrennt wird, die C dann automatisch als ASCII-Code annimmt. Dadurch wird das Programm etwas effektiever.
Das, was du da einliest, hat aber herzlich wenig mit der Zahlendarstellung zu tun, die der Computer für int's verwendet.
-
SeppJ schrieb:
Das ist einfach, das kann ich! Man braucht bloß mit den richtigen Optionen zu compilieren.
Quatsch. Man muss dem Compiler nur ein mal zeigen wer der Herr im Haus ist.
-
CStoll schrieb:
Nein, der Backslash wird vor allem für Escape-Sequenzen verwendet, um nicht darstellbare Zeichen zu symbolisieren. Wenn du ihn als Zeichen in einer String-Konstante verwenden willst, mußt du ihn auch escapen als "\\C..."
Ok, werde ich mir merken.
CStoll schrieb:
Das, was du da einliest, hat aber herzlich wenig mit der Zahlendarstellung zu tun, die der Computer für int's verwendet.
Warum denn das?
-
B0N3 schrieb:
Also ich habe diese Fehlermeldungen nicht,
Compilier immer mit allen Warnoptionen die dein Compiler anbietet.
-
B0N3 schrieb:
Warum denn das?
Weil
fgetc()
ein Zeichen einliest.
Das kann eine Ziffer sein, oder ein Buchstabe oder auch Steuerzeichen.
Stichwort dazu ist ASCIIZu einlesen von Zahlen gibt es andere Funktionen.
-
DirkB schrieb:
Weil
fgetc()
ein Zeichen einliest.
Das kann eine Ziffer sein, oder ein Buchstabe oder auch Steuerzeichen.
Stichwort dazu ist ASCIIJa, ok.
DirkB schrieb:
Zu einlesen von Zahlen gibt es andere Funktionen.
Welche denn z.b.? In meinen Lehrmaterialien habe ich nur Befehle zum einlesen von Zeichen,Zeilen und Blöcken gefunden..
-
ich würde ja fscanf() vorschlagen.
-
Ok, danke. Ich werde es gleich einmal austesten.
Auch einen großen Dank an den Rest, der mir geholfen hat.