Jahwareerka nidaamka kala soocida dabiiciga ah

Inta badan maamulayaasha faylalka garaafyada si adag uma kala soocaan qaamuus ahaan, laakiin waxay isticmaalaan kala soocida "dabiiciga ah". Qeybaha nambarada ee magacyada waxaa loo tarjumaa tiro ahaan - tirada weyn ee tirooyinka ayaa guuleysta, xitaa haddii ka soo horjeeda ay run tahay alifbeetada. Fikradda ka dambeysa kala-soocidda dabiiciga ah: Waxa ay dadku inta badan rabaan waa "9 ka hor 10," "Cutubka 2 ka hor cutubka 10" -iyado aan lagu darin eber hormuudka ah.


Lammaanaha faylka soo socda ayaa si dabiici ah loo kala soocay siday u kala horreeyaan sida soo socota:

  • build-9e2.log
  • build-950.log

Cajiib, laakiin la macnayn karo: Lambarka kowaad \(9\) wuu ka yar yahay qaybta kowaad ee lambarrada \(950\) .

  • IMG_12113419_90.jpg
  • IMG_0554363070_90.jpg

Lambarka \(12113419\) wuu ka yar yahay \(554363070\) (hogaamiyaha \(0\) waa laga saaray).

  • temp_0C.txt
  • temp_2C.txt
  • temp_-3C.txt
  • temp_10C.txt
  • temp_-12C.txt

Tirooyinka marka la barbardhigo waa \(0\) , \(2\) , \(3\) , \(10\) , \(12\) - "-" looma tixgalin qayb ka mid ah tirada.

Xataa "alifbeetada" maaha mid caalami ah oo aan mugdi ku jirin: Cajiibka, umlauts sida ä (Jarmal), ama xarfo badan sida ch (Czech) waxay horseedaan kala duwanaansho sharci ah. "Alifbeetada saafiga ah" waxay ku xiran tahay macnaha guud. Windows Explorer waxay tan ku fulisaa shaqada StrCmpLogicalW . Iyadoo koodka isha (shlwapi.dll) uu yahay mid iska leh oo aan ahayn mid dadweyne, waxaa jira dib u habeyn, tusaale ahaan, ReactOS.:

{
    TRACE("%s, %s\n", wine_dbgstr_w(str), wine_dbgstr_w(comp));
 
    if (!str || !comp)
        return 0;
 
    while (*str)
    {
        if (!*comp)
            return 1;
        else if (*str >= '0' && *str <= '9')
        {
            int str_value, comp_value;
 
            if (*comp < '0' || *comp > '9')
                return -1;
 
            /* Compare the numbers */
            StrToIntExW(str, 0, &str_value);
            StrToIntExW(comp, 0, &comp_value);
 
            if (str_value < comp_value)
                return -1;
            else if (str_value > comp_value)
                return 1;
 
            /* Skip */
            while (*str >= '0' && *str <= '9') str++;
            while (*comp >= '0' && *comp <= '9') comp++;
        }
        else if (*comp >= '0' && *comp <= '9')
            return 1;
        else
        {
            int diff = ChrCmpIW(*str, *comp);
            if (diff > 0)
                return 1;
            else if (diff < 0)
                return -1;
 
            str++;
            comp++;
        }
    }
 
    if (*comp)
      return -1;
 
    return 0;
}

Google Drive, OneDrive, KDE, iyo kuwa kale waxay muujiyaan habdhaqan kala soocid la mid ah. Qalabka CLI sida ls iyo find Si kastaba ha ahaatee, waxay u kala soocaan si ka duwan maareeyayaasha faylka GUI. Semantics waxay ku jiraan magacyada faylka, kuma jiraan API. Haddii aad rabto natiijooyin aan la yaab lahayn, qeex heshiisyada: kala-soocida joogtada ah, tirooyinka daboolan, iyo maaraynta cad ee cutubyada. Dabadeed "xaruufta" waxay noqotaa mid la saadaalin karo mar kale.

Dib u laabo