Zeichen aus Datei speichern

Hallo!

Ich möchte aus einer gegebenen Textdatei die zu den Zeichen zugehörigen ASCII-Codes in dezimaler Form in einem Array speichern. Dazu habe ich dieses kleine Programm geschrieben. Wenn ich nun eine Datei erstelle, in die ich nur ein Zeichen schreibe (mit einem beliebigen Editor), dann gibt es mir die ersten zehn Zeichen aus, wobei das Erste dem dezimalen Wert des Buchstabens aus der Datei entspricht und die verbleibenden neun auf Null gesetzt sind. Wenn ich nun aber in der Datei mehrere Zeichen abspeichere, dann durchläuft das Programm die Schleife zwar zehnmal, übergibt aber nur dem ersten Element des Arrays einen Wert, anstatt das nächste Zeichen im nächsten Element abzuspeichern.
Würde mich freuen, wenn mir jemand weiterhelfen könnte…

Gruß Michael

#include
#include
#include

int main() {

FILE *dat_ein;
char dateiname[20];
int array[100];

for (int i=0; i> dateiname;

if ((dat_ein = fopen(dateiname, „rb“)) == NULL) {
fprintf(stderr, „Datei nicht gefunden!“);
return 1; }

for (int j=0; j

Hi,

hast nur einen kleinen Denkfehler gemacht, nicht sizeof(int), sondern sizeof(char), du ließt ja Zeichen ein! (1 Byte)
Und die Initialisierung hab ich auch ein bischen vereinfacht, brauchst keine schleife dafür zu machen,
int array[100]= {0}; --> So gehts auch :wink:

#include
#include
#include

int main() {

FILE *dat_ein;
char dateiname[20];
int array[100]= {0};

cout > dateiname;

if ((dat_ein = fopen(dateiname, „rb“)) == NULL) {
fprintf(stderr, „Datei nicht gefunden!“);
return 1; }
fseek(dat_ein, SEEK_SET, 0);

for (int j=0; j

Hallo!

Danke erstmal für deine Hilfe, daß hat mir sehr weitergeholfen. Eine kleine Frage habe ich dennoch. Wie kann ich statt einer Zeichenfolge den Inhalt einer Datei (beispielsweise einer Bitmap zwecks Datenmanipulation) byteweise binär oder dezimal in einem Array abspeichern?

fragende Grüße

Michael