Pouze tento týden sleva až 80 % na e-learning týkající se PHP. A zároveň využij akce až 30 % zdarma při nákupu e-learningu. Více informací.
Hledáme asistenty pro kurzy programování - pohodová brigáda. Více info
PHP week
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
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
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.