bergetun Skrevet 14. juni 2003 Del Skrevet 14. juni 2003 Er det noen lett maate aa lage en C metode som tar inn ett filnavn (feks myJava.class) og returner bare filnavnet uten ending, altsaa myJava i dette tilfellet. fjernet .class og returnerte myJava Faar det til i Windows og C++ men jeg maa faa laget denne i C under Linux og da ble det saa mye verre. Lenke til kommentar
GNUfan Skrevet 14. juni 2003 Del Skrevet 14. juni 2003 Du kan vel utnytte at "ls" er opensource? Lenke til kommentar
bergetun Skrevet 14. juni 2003 Forfatter Del Skrevet 14. juni 2003 'ls' er kodet paa en spesiel maate som iallefall ikke jeg med mine begrensa C kunnskaper kan faa noe nyttig ut av. Lenke til kommentar
iDude Skrevet 14. juni 2003 Del Skrevet 14. juni 2003 Er det noen lett maate aa lage en C metode som tar inn ett filnavn (feks myJava.class) og returner bare filnavnet uten ending, altsaa myJava i dette tilfellet. fjernet .class og returnerte myJava Funksjonen "opendir" åpner kataloger og leser innholdet i den (man 3 opendir), se også her . For å leke seg med substringer (som er det du trenger), se på manualsidene til strstr, index,rindex,strtok, strchr, strrchr ... The list goes on and on. Se forøvrig GNU C manualen som er en god kilde... Lenke til kommentar
MailMan13 Skrevet 14. juni 2003 Del Skrevet 14. juni 2003 Det burde gå greit å ordne det manuelt også da... char[] filnavn; int punktum; /* finne siste punktum */ while(filnavn[i] != 0) { if(filnavn[i] == '.') punktum = i; } /* Terminere strengen ved siste punktum */ if(i!=0) filnavn[i] = 0; Har ikke prøvd dette, og kan nesten ingenting i C, men det skal funke med noe sånt. (finnes sikkert noe ferdig som gjør jobben) Lenke til kommentar
[bErZeRk] Skrevet 14. juni 2003 Del Skrevet 14. juni 2003 Hvis du kan bruke c++ er det jo mulig å gjøre det slik: string function(string filename) { return filename.substr(0,filename.rfind(".")); } Hvis du må bruke C så er vel dette 100% urelevant, da beklager jeg Du kan gjøre dette i C char *filename = "javasjeit.class"; char *filename2; (void) strcnpy(filename2,filename,strchr(filename,'.')); filename2 skal inneholde "javasjeit" . Tror jeg Lenke til kommentar
gspr Skrevet 14. juni 2003 Del Skrevet 14. juni 2003 Hadde det ikke vært like greit å lage et shellscript som bruker sed for å bytte ut .* med ingenting? C virker litt overkill.... sikker på at du ikke vil lage en OpenGL-GUI til dette programmet ditt også da? :wink: Lenke til kommentar
bergetun Skrevet 15. juni 2003 Forfatter Del Skrevet 15. juni 2003 Guiet er laget i java faktisk. Grunnen til at jeg skal fjerne extentione er at jeg skal kunne trykke paa en fil i java guiet, da skal det bli pipet tilbake til C programmet og det finne ut hva den skal gjoere med filen.. Feks visst det er en html fil skal den aapnes i mozilla eller i emacs for editering , visst det er en .class fil skal den kjoeres som en java fil. Visst det er en class fil maa jeg fjerne .class fra filnavnet foer den kan kjoeres, det er her problemet mitt ligger. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå