Ahojte.
Potrebujem poradit kde je tu chyba. Vo Win to funguje, tak predpokladam, ze v niecom sa lisi preklad kodu v Linuxe oproti Win. Problem mi asi robi funkcia fprintf().
Prikladam zjednoduseny nahlad kodu:
-editor VIM
-prekladac gcc
Dakujem za pomoc
Kód:
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
int main()
{
int i,j=0,k=0,*p_i;
// j - pocet prvkov v subore
FILE *fr;
fr=fopen("/home/marek/marek.txt","r");
// testovanie otvorenia suboru
if((fr=fopen("/home/marek/marek.txt","r"))==NULL){
printf("subor sa nepodarilo nacitat");
}
// pocitanie kolko ma subor prvkov
do{
fscanf(fr,"%d",&i);
j++;
}while(feof(fr)==0);
j--;
// alokovanie pola
p_i=(int*) malloc(sizeof(int)*j);
// naplnenie pola prvkami zo suboru
do{
fscanf(fr,"%d",&p_i[k]);
k++;
}while(k<j);
// vypisanie prvkov pola na obrazovku
k=0;
do{
printf("%d",p_i[k]);
k++;
}while(k<j);
free(p_i);
p_i=NULL;
fclose(fr);
}