getline

Tags:    c++

Jeg har lavet et spil i java, og nu vil jeg gerne igang med at lave spil i c++.

Jeg har besluttet mif til først, at lærer c++ syntaks, standerart biblioteker, pointers, osv. Derefter vil jeg lære allegro, og til sidst omskrive det spil jeg har i java til c++.

lige nu er jeg igang med første del. Jeg er ikke selv så kreativ, så jeg fandt en opgave på nettet: http://www.cprogramming.com/challenges/count.html
Fold kodeboks ind/udKode 


Det virker fint, men man skal selv kunne vælge hvilken fil den skal læse fra. Derfor havde jeg tænkt mig at lave noget i retingen af:
Fold kodeboks ind/udKode 


problemet er bare, at file.open ikke tager en string som argument.

Jeg tror det er noget med en * char, den så tager, men jeg er ikke sikker.

Er der nogle der ved hvordan man kan få den til at åbne en fil man selv vælger?








4 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Problemet er ganske rigtigt at open forventer at få en "const char*" og ikke en string.
Heldigvis er det ret let at fixe, string har en c_str funktion der netop giver dig strengen som en "const char*"
Derved bliver det:
file.open(fileName.c_str());



Tak, nu virker det :D

btw er kan char ikke kun holde ét bogstave?



Tak, nu virker det :D

btw er kan char ikke kun holde ét bogstave?


Jo, men en pointer til char peger på et sted i hukommelsen, hvor der ligger nul eller flere chars. Sådan er det faktisk med alle datatyper. En int kan indeholde ét heltal, mens en int pointer peger på en række (nul eller flere) heltal, og en string indeholder én streng, mens en pointer til string kan pege på nul eller flere strenge.



ok, tak



t