Gå til innhold

Unix spesific metode for aa fjerne extension paa filer i C


Anbefalte innlegg

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
Videoannonse
Annonse
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

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

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 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

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...