abC primeri - primeri/malloc.c

malloc.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <stdio.h>
#include <stdlib.h>

int main() {
	FILE *datoteka;
	datoteka = fopen("besedilo.txt", "r");
	if (datoteka == NULL) {
		printf("Datoteka ne obstaja!\n");
		exit(1);
	}
	
	// skocim (fseek) na konec datoteke ...
	fseek (datoteka , 0 , SEEK_END);
	// ... in pogledam, kje sem (ftell)
	long dolzina = ftell (datoteka);
	// potem skocim spet na zacetek
	rewind (datoteka);

	// dimanicno naredim tabelo prave velikosti
       char *tabela;
       tabela= (char *) malloc (dolzina*sizeof(char));

	int i=0;
	char znak;

	while (!feof(datoteka)) {
		znak = fgetc(datoteka);
              tabela[i] = znak;
		i=i+1;
	}
	fclose(datoteka);

	while(i>=0) {
		printf("%c", tabela[i]);
		i=i-1;
	}

	return 0;
}

    Nazaj...