HaWe
26.10.2016, 23:13
hallo,
ich komme nicht weiter, ich finde den Fehler nicht in einem Testprogramm fürs Lesen eines Files (schreiben scheint zu klappen).
Das File wird korrekt geschrieben (laut Test mit Leafpad), aber als Ausgabe erhalte ich anschließend unendliche Zeilen voller "?"
was mache ich falsch?
#include <stdio.h>
#include <stdint.h>
#include <string.h>
int main ()
{
FILE *fp;
char myFilename[100];
char c;
strcpy(myFilename, "/home/pi/mytextfile.txt");
printf("\n\n open file and write string, then close file: \n\n");
char sometext[] = "Mary had a little lamb";
fp = fopen( myFilename , "w" );
fwrite(sometext, sizeof(uint8_t), sizeof(sometext), fp );
fclose(fp);
printf("\n\n open file, read, output to stdout, then close file: \n\n");
fp = fopen( myFilename, "r" );
if (fp) {
do {
c = fgetc (fp);
putchar(c);
} while (c != EOF);
fclose(fp);
}
return(0);
}
edit,
hat sich geklärt,
c muss int sein.
ich komme nicht weiter, ich finde den Fehler nicht in einem Testprogramm fürs Lesen eines Files (schreiben scheint zu klappen).
Das File wird korrekt geschrieben (laut Test mit Leafpad), aber als Ausgabe erhalte ich anschließend unendliche Zeilen voller "?"
was mache ich falsch?
#include <stdio.h>
#include <stdint.h>
#include <string.h>
int main ()
{
FILE *fp;
char myFilename[100];
char c;
strcpy(myFilename, "/home/pi/mytextfile.txt");
printf("\n\n open file and write string, then close file: \n\n");
char sometext[] = "Mary had a little lamb";
fp = fopen( myFilename , "w" );
fwrite(sometext, sizeof(uint8_t), sizeof(sometext), fp );
fclose(fp);
printf("\n\n open file, read, output to stdout, then close file: \n\n");
fp = fopen( myFilename, "r" );
if (fp) {
do {
c = fgetc (fp);
putchar(c);
} while (c != EOF);
fclose(fp);
}
return(0);
}
edit,
hat sich geklärt,
c muss int sein.