Code Blocks & Mingw &gcc (Code Blockin paketti) asennettuna Win seiskaan ()32bit)CB:n paketista ja Xubuntu 14.04 (32 bit) Ubuntu Software centerin kautta.
molemmissa järjestelmissä seuraava tuottaa ilmoituksen ettei voi ladata
tiedosto on samassa hakemistossa kuin executeable tiedostokin
aiemmin tämä on toiminut.
if ((in=fopen(name, "r"))==NULL)
{
fprintf(stderr, "Cannot load file %s !\n", name);
return 1;
}
molemmissa järjestelmissä seuraava tuottaa ilmoituksen ettei voi ladata
tiedosto on samassa hakemistossa kuin executeable tiedostokin
aiemmin tämä on toiminut.
if ((in=fopen(name, "r"))==NULL)
{
fprintf(stderr, "Cannot load file %s !\n", name);
return 1;
}
Vastaukset 5
Vanhimmat
Olet vaan sössinyt jotain.
Kiitos edelliselle kannustavasta viestistä.
Täsmennyksenä tuohon alkuperäiseen kysymukseeni:
funktiossa int load()
FILE *in; on paikallinen muuttuja
char name[80]; on globaalimuuttuja
debukkerin mukaan namen sisältö on kuten pitääkin ja fprintf tulostaa tiedoston nimen oikein
mutta mikä mättää?
niin linuxissa kuin windowsissakin.
Tulosta koodissasi työhakemiston nimi ja listaa sen tiedostot. Ehkä siitä vyyhti aukeaa.
system("cd");
system("dir");
Kiitos neuvosta, ongelma ratkesi ihan vain sillä että kopioin avattavan tiedoston ohjelmoinnin projektihakemistoon.
Muistaakseni aikoinaan executeablit hakivat tiedostoa, niin dossissa kuin linuxissakin aluksi siitä hakemistossa missä olivat, sitten työhakemistosta ja lopuksi PATHin perusteella.
projektissa voi määritellä työhakemiston sijainnin