Pouze tento týden sleva až 80 % na e-learning týkající se JavaScriptu. Zároveň využij akce až 30 % zdarma při nákupu kreditů. Více informací:
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Pavel
Člen
Avatar
Pavel:24.11.2012 17:19

Zdravím, dělám program, který otevře soubor, uloží ho do dynamického pole a poté jej odtud přečte a vypíše na obrazovku. Když můj program spustím, tak mi hlásí, že soubor nejde otevřít. Už si s tím nevím rady, prosím pomozte. V programování v C jsem začátečník. Předem díky.
Můj kód:

#include <stdlib.h>
#include <stdio.h>
#define PUL_ROZSAH(typu) (1L<<(sizeof(ty­pu)*8-1))
#define ROZSAH(typu) PUL_ROZSAH(ty­pu)+(PUL_ROZSAH(ty­pu)-1)

char* load(char * filename, unsigned long *ukSize)
{
FILE *soubor;
char *pole;

soubor = fopen(filename, "rb");
if(soubor == NULL)
{
printf("Soubor se nepodarilo otevrit.\n");
return 0;
}
fseek(soubor, 0L, SEEK_END);
*ukSize = ftell(soubor);
rewind(soubor);

if(*ukSize > ROZSAH(unsigned int))
{
printf("Nelze alokovat tolik pameti. Soubor je prilis velky.\n");
return 0;
}

pole = (char*) malloc(*ukSize);

if(pole != NULL)
{
printf("Alokace probehla uspesne.");
}
fread(pole, sizeof(char), *ukSize, soubor);
fclose(soubor);
return pole;
}

int main (int argc, char * argv[])
{
unsigned long int size;
char * p, * jmenoSouboru;

printf("Nacteni souboru do dynamickeho pole\n"
"---------------------------------------\n");
p = load(jmenoSouboru, &size);
if(p != NULL)
{
printf("\nVypis souboru:\n\n %s \n", p);
}
return 0;
}

Editováno 24.11.2012 17:22
 
Odpovědět
24.11.2012 17:19
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Pavel
David Čápka:26.11.2012 13:28

Když vložíš kód pomocí tlačítka na vložení zdrojových kódů, tak z něj někdo možná i něco vyčte...

Nahoru Odpovědět
26.11.2012 13:28
One of the most common causes of failure is the habit of quitting when one is overtaken by temporary defeat.
Avatar
Pavel
Člen
Avatar
Pavel:26.11.2012 13:53

Dobře, pro příště. ;-) Jinak už jsem na to přišel. :-)

 
Nahoru Odpovědět
26.11.2012 13:53
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.