String do tablicy i wice wersa

0

Witam, mam pewien problem chodzi o umieszczenie stringa w tablicy, malo to przetworzenie tej tablicy na stringa.

Funkcja w parametrze dostaje cos takiego

np. C:\Moje dokumenty\Moje obrazy\zdjecia\fajne\

chce by mi zwrocila wynik o jeden pozmiom wyzej czyli:

     C:\Moje dokumenty\Moje obrazy\zdjecia\  
String goBack(String path)
{
int pom;
String s,wynik;
s=path;
pom=s.Length();
for(int i=pom;i>0;i--)
    {
     if(s[i]=='\\')               
     // ????????????????      nie wiem czy to wogole dobry pomysl bo zawsze na 
    // koncu jest   znak     c:\cos\cos2\   i tak by sie pozbyc cos2\ 
   //                                c:\cos\     
     }
return wynik;
}
}

//--------nie na tym forum mi sie napisalo wiec przenosze to tutaj-------

      ------------- sapero ----- napisal -------

funkcja strrchr() (msvcrt.dll)zwraca pointer do ostatniego znalezionego chara w stringu
użyj jej dwa razy i za każdym razem wpisz pod zwrócony adres bajt 0. Ale sprawdź czy adres !=0 !!!

if (adr = strrchr(&path, "\\")) != 0) 
   *<char>adr = 0; // nie wiem jak w C się to pisze [green] 
if (adr = strrchr(&path, "\\")) != 0){
  adr++;
  *<char>adr = 0;
} else{
 path[3]=0;
} 

musisz zapewnić że path będzie zawsze zakończony na \

pożera mi backslashe

Ostatnio zmodyfikowany: 16-02-2005 03:01 przez sapero

0
//---------------------------------------------------------------------------

String goBack(String path)
{
int pom,a,b;
a=0;
b=0;
String s;
s=path;
pom=s.Length();

for(int i=pom;i>0;i--)
    {
    if(s[i]=='') a++;
    if(a<2)b++;
    }
    s.SetLength(pom-b);
    return s;
}
//---------------------------------------------------------------------------

i o to rozwiazanie :) dziala dobrze aplikacja sie nie wyklada :]

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.