#programowanie #cpp #qt #linux Mój program tworzy plik tekstowy pod Windows, ale używam go pod Linux. Działa dopiero wtedy jeżeli ręcznie usunę wszystkie spacje i wpiszę je sam, z klawiatury. Jako spacji używam po prostu " ", co zrobić żeby tak się nie działo?
@fervi: no właśnie dziwne, ale tak. Ale jako znak końca linii używam po prostu \n więc tam nie ma co źle pójść... dokładnie chodzi o plik ~/.profile gdzie mam coś takiego:
if [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then /opt/MyApp/bin/MyApp fi Musiałem jeszcze raz napisać spacje w pierwszej linii... inaczej wyskakiwał błąd, że "niespodziewane użycie fi".
@s_theCapt: obstawiam dziwaczne kodowanie pod windowsem. Najlepiej używać UTF-8, ale microsoft jeszcze do tego nie dojrzał (w linuxie ciężko spotkać cokolwiek innego niż UTF-8 lub gołe ASCII). Zobacz ten wygenerowany plik jakimś viewerem do hex'ów, np WinHex (pod windowsem) lub xxd pod linuxem. Dowiesz się dokładnie, jakie tam idą znaki.
@s_theCapt: zdebilały windows kończy linie symbolami CRLF, na Linuxie koniec linii to sam symbol LF, git np. sam podmienia te symbole jeżeli używasz tego samego repo na różnych systemach, a tak to musisz jakiś skrypt napisać co będzie poprawiał po windowsie zakończenia linii.
Najlepiej używać UTF-8, ale microsoft jeszcze do tego nie dojrzał (w linuxie ciężko spotkać cokolwiek innego niż UTF-8 lub gołe ASCII).
@dict: Jak to są polskie instalacje gdzieś z początku stulecia (~2001 do ~2008) to zdarzało się że domyślnie dystrybucje stosowały ISO 8859-2 (co i tak lepsze było od stron kodowych używanych w DOS/Windows) lub poradniki w necie kierowały na zmianę na ISO 8859-2.
@s_theCapt: Jak jesteś w stanie to wybieraj utf8 pod windowsem a jak nie jesteś w stanie to dos2unix pod linuksem przekonweruje ci p--------k windowsowy
@Kryspin013: ale to mój program musiał robić. Było UTF-8. Ale był też tryb text który włączyłem bez czytania, a robił tę podmianę \n na \n\r czy coś... wystarczyło się nazwą nie sugerować i wyłączyć. xd (to co pisałem wcześniej o ręcznym enterze to jednak nieprawda się okazało :D)
Mój program tworzy plik tekstowy pod Windows, ale używam go pod Linux. Działa dopiero wtedy jeżeli ręcznie usunę wszystkie spacje i wpiszę je sam, z klawiatury. Jako spacji używam po prostu " ", co zrobić żeby tak się nie działo?
if [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then/opt/MyApp/bin/MyApp
fi
Musiałem jeszcze raz napisać spacje w pierwszej linii... inaczej wyskakiwał błąd, że "niespodziewane użycie fi".
@dict: Jak to są polskie instalacje gdzieś z początku stulecia (~2001 do ~2008) to zdarzało się że domyślnie dystrybucje stosowały ISO 8859-2 (co i tak lepsze było od stron kodowych używanych w DOS/Windows) lub poradniki w necie kierowały na zmianę na ISO 8859-2.