Przesyłanie stringa z procentem jako argument do funkcji.

Przesyłanie stringa z procentem jako argument do funkcji.
PrezesiQ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 187
0

Witam.

Mam pewien problem.
Otóż mam funkcję która parsuje ścieżki, mianowicie kiedy poda się np. %appdata%\somedir to uzyska się normalną ścieżkę.
Jednakże nie mam jak przetestować działania tej funkcji, ponieważ program się sypie przy próbie przesłania np. tutaj przykład: https://imgur.com/a/PrRNjiF

Sprawdzałem i program sypie się jedynie na dwóch pierwszych przypadkach. I dostaję ten błąd, nic więcej.
Nie wiem co mogę z tym zrobić.

Za wszelką pomoc dziękuję.

Pozdrawiam.

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
0

Może argumenty są parsowane w sposób zbliżony do printf? Wyescapuj % jako %% i zobacz czy działa.

Kopiuj
2018-06-01 12:03:28 <@KrzaQ> { printf("%%"); }
2018-06-01 12:03:29 < cxx> %
PrezesiQ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 187
0

Dalej to samo.
A tak z ciekawości, cóż to za terminalopodobne coś? To co jest w cytacie.

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
1

geordi, bot na irca.

Pokaż kod tej funkcji. \ escapujesz, jak nie % to nie mam pomysłów inaczej.

PrezesiQ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 187
0

Dobra, teraz działa. Myślałem, że "escapeowanie" to właśnie to %% czyli np. %%appdata%%, a jednak chodzi Ci o znak ucieczki.
Wszystko działa, oprócz samej funkcji, więc teraz muszę tylko nad nią popracować. Dzięki wielkie.

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
1

Generalnie spodziewałem się, że % escapuje się %% (tak jak pokazałem wyżej), ale jak \% działa to cieszę się, że mogłem pomóc.

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.