String variable i dynamisk filnavn?

Tags:    c++

Hello!

Jeg lægger inde med et stort datasæt af forskellige MHC Alleler. Inde under hver allel har jeg en masse forskellige peptider. Det jeg er igang med er at lave et program der splitter denne store datafil op i en masse mindre, så hver allel er i hver sin fil. Allel navnet er gemt som en string f.eks. allel[].

Det jeg prøver på er at lave en for løkke der gemmer hver allel ned, med allel[] som filnavnet på den givne allel.

fout = fopen("../data/allel[]", "w");

Denne linje virker selvfølgelig ikke efter hensigten, men vil gerne have filnavnet til at gemmes som allel variablen. Er dette muligt?

Mvh. Mikael



5 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Nu aner jeg ikke hvad en allel er men du kan gøre noget i denne stil:

FILE * open_concatenated(char * base, char * appended) {
char full[1024];
strncpy(full, base, 1024);
strncat(full, appended, 1024);
return fopen(full, "w");
}

...og bruge den således:
FILE * file = open_concatenated("../data/", allel);
}



Ved ikke om jeg har forstået det korrekt, men vil det ikke bare være muligt at oprette en string bestående af "../data/" og så concatenate(lægge sammen) den med den string som allel[] indeholder/peger på, for derefter at smide den streng til fopen() kaldet

Hvis det ikke var fordi mit c var rustent i forhold til strings, så ville jeg provide et eksempel...



Indlæg senest redigeret d. 02.10.2008 21:31 af Bruger #4137
Nice! Det virkede Robert Larsen. Post lige et svar :)



Godt at det virkede.
Jeg bruger ikke points så behold dem bare.



Okay. Mange tak for hjælpen!



t