Avatar billede jelboen Nybegynder
16. april 2004 - 10:51 Der er 9 kommentarer og
1 løsning

hent fil ved hjælp af variabel

Hej Dudes....

Jeg skal hente nogle oplysninger fra en fil.. i  øjeblikket gør jeg det på denne måde

cin >> fra;

if (fra == "DKK") {

ifstream kurs_input("dkk.jel");
kurs_input >> kurs_fra;
kurs_input.close();

}

Men pga. at jeg har flere filer fylder det utrolig meget hvis jeg skal lave de IF sætninger for hver fil... Mit spørgsmål er så bare... er det muligt at hente filen ved hjælp af en variabel?.. f.eks:

cin >> fra;

ifstream kurs_input("fra.jel");
kurs_input >> kurs_fra;
kurs_input.close();

Dette har jeg naturligvis prøvet... men her prøver den at hente filen fra.jel, og ikke hvad der står i variablen  fra.jel.
Avatar billede arne_v Ekspert
16. april 2004 - 11:47 #1
string fra;
cin >> fra;
ifstream kurs_input(fra + ".jel");

mener jeg bør virke.
Avatar billede arne_v Ekspert
16. april 2004 - 11:48 #2
char fra[100];
cin >> fra;
char fnm[256];
sprintf(fnm,"%s.jel",fra);
ifstream kurs_input(fnm);

eller det samme bare med strstream.
Avatar billede arne_v Ekspert
16. april 2004 - 11:53 #3
Det første skal vist være:

string fra;
cin >> fra;
fra += ".jel"
ifstream kurs_input(fra.c_str());
Avatar billede arne_v Ekspert
16. april 2004 - 11:58 #4
string fra;
cin >> fra;
fra += ".jel"
ifstream kurs_input(fra.c_str());


char fra[100];
cin >> fra;
char fnm[256];
sprintf(fnm,"%s.jel",fra);
ifstream kurs_input(fnm);


char fra[100];
cin >> fra;
stringstream fnm;
fnm << fra << ".jel";
ifstream kurs_input(fnm.str().c_str());
Avatar billede jelboen Nybegynder
16. april 2004 - 12:54 #5
Du kan dit shit arne_v... jeg takker.. smid lige et svar :D
Avatar billede jelboen Nybegynder
16. april 2004 - 12:57 #6
Kunne dog godt lige bruge en lille forklaring på denne her:

string fra;
cin >> fra;
fra += ".jel"
ifstream kurs_input(fra.c_str());

da det er til et projekt.. jeg skulle jo gerne kunne forklare hvad den gør :D
- nok mest den her: fra.c_str
Avatar billede arne_v Ekspert
16. april 2004 - 13:02 #7
svar
Avatar billede arne_v Ekspert
16. april 2004 - 13:03 #8
string fra; // erklær STL string
cin >> fra; // indlæs i denne
fra += ".jel" // append .jel til den
ifstream kurs_input(fra.c_str()); // konvertere fra STL string til char array og åben fil med det navn
Avatar billede arne_v Ekspert
16. april 2004 - 13:03 #9
ifstream constructor tager en char[] som argument ikke en string derfor er man nødt
til at konvertere med c_str()
Avatar billede jelboen Nybegynder
16. april 2004 - 13:07 #10
Det var forklaring nok for mig... mange tak.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester