Dole je kompletan kod sa komentarima a kompajler je mingw.
#include <stdio.h>
#include <string.h>
int main(){
char *inFileName;
int c;
long fileSize, count;
FILE *in;
if( (inFileName = (char *)malloc(255)) == NULL){
printf("\nGreska!!!\nNema dovoljno memorije za inFileName");
return 1;
}
printf("\nUnesite ime file-a(sa putanjom): ");
gets(inFileName);
fflush(stdin);
if( (in = fopen(inFileName, "rb")) == NULL ){
printf("\nGreska pri otvaranju file-a %s\nPrekidam...", inFileName);
return 1;
}
fseek(in, 0, SEEK_END);
fileSize = ftell(in);
fseek(in, 0, SEEK_SET);
char inStr[fileSize+1];
count = 0;
while((c = getc(in)) != EOF){
inStr[count++] = c;
/* ovde nastaju problemi jer bez obzira na fajl
inStr je uvek isti, a broj prolazaka kroz petlju je OK
Probao sam i ovo
num = fread(inStr, sizeof(char), fileSize, in);
num vrati broj bajtova u fajlu ali je inStr
opet isti kao i sa getc
*/
}
fclose(in);
printf("\nfileSize = %d\ncount = %d", fileSize, count);
printf("\nstrlen(inStr) = %d", strlen(inStr)); //uvek je 4
printf("\n%s", inStr); //uvek stampa ovo: " ě Ó"
return 0;
}