Diskuze: Nejde otevřít soubor.

C++ C a C++ Nejde otevřít soubor.

Avatar
Pavel
Člen
Avatar
Pavel:

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:

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
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Pavel
Člen
Avatar
Pavel:

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.