[C] bestand openen, bestandsnaam als argument meegeven

Pagina: 1
Acties:
  • 71 views sinds 30-01-2008

  • Thefirstikke
  • Registratie: Juni 2000
  • Niet online
Ik heb me helemaal rot gezocht, maar ik blijf met hetzelfde probleem zitten.
Ik wil in C (dus geen C++) een bestand openen. opzich niks vreemds, zij het niet dat ik de bestandsnaam als parameter op de commandline mee wil geven.
Bijvoorbeeld: process log.txt

ik begrijp dat argv[1] naar de bestandsnaam log.txt verwijst

fopen(char *naam, char *mode) verijst dus een bestands naam en een modus.
Bijvoorbeeld:
FILE=*fp
fp = fopen(c:\\log.txt, 'r');

Nu wil ik dus niet dat c:\\log.txt hard-coded in m'n source zetten, maar dat hij het bestandsnaam van argv[1] pakt.

Hoe pak ik dit aan?
fopen wil een character array hebben, maar dat is argv[1] (direct) niet.
help?

  • SWfreak
  • Registratie: Juni 2001
  • Niet online
?? dat is het juist wel:
code:
1
int main( int argc, char* argv[] )

argv is een een array van character arrays...

  • Thefirstikke
  • Registratie: Juni 2000
  • Niet online
een array van caracter array's ja, maar dus geen caracter array :P

  • matthijsln
  • Registratie: Augustus 2002
  • Laatst online: 22-05 13:09
fopen(argv[1], "r");

Werkt gewoon hoor (test wel argc voordat je dit doet natuurlijk). Krijg je een bepaalde foutmelding oid?

Als je een array van character arrays indexeert krijg je een character array.

Verwijderd

Thefirstikke schreef op 15 januari 2004 @ 22:49:
een array van caracter array's ja, maar dus geen caracter array :P
char * argv[] is een array van pointers naar char.... dus een item uit die array is gewoon een pointer naar een char.....heb je geprobeerd om gewoon fopen(argv[1].... ) te doen?

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 12:16

.oisyn

Moderator Devschuur®

Demotivational Speaker

Kom op heej, dit is toch wel heel erg basic hoor. Je mag wel eerst een basis-cursus C gaan doen voor je hier dit soort vragen kunt stellen

C:
1
2
3
4
5
int main (int argc, char ** argv[1])
{
    FILE * f = fopen (argv[1], "r");
    /* ... */
}

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1

Dit topic is gesloten.