-
1. Data: 2009-01-27 17:34:05
Temat: [AvrGCC] Jak zapisac znak specjalny
Od: "roxy" <k...@o...pl>
Witam.
jak zapisac w tablicy znakow znak specjalny np.
char str[]="Temperatuta 15stC"
zastępując znaki 'st' znakiem stopnia (koleczko) ?
W CodeVisionAVR nie mialem problemu - stosowalem zapis np "\x34\x37\xdf" i
mialem wstawione znaki. Avrgcc niestety wypisuje mi jakies krzaki.
-
2. Data: 2009-01-27 17:52:45
Temat: Re: [AvrGCC] Jak zapisac znak specjalny
Od: MKi <e...@t...op.pl>
roxy pisze:
> Witam.
> jak zapisac w tablicy znakow znak specjalny np.
> char str[]="Temperatuta 15stC"
> zastępując znaki 'st' znakiem stopnia (koleczko) ?
> W CodeVisionAVR nie mialem problemu - stosowalem zapis np "\x34\x37\xdf" i
> mialem wstawione znaki. Avrgcc niestety wypisuje mi jakies krzaki.
>
>
Nie jestem guru od AvrGCC, ale w języku C od zawsze
istniał zapis _ósemkowy_ \000, na przykład Twoje \xdf
będzie wyglądać \337.
Pozdrowienia,
MKi
-
3. Data: 2009-01-27 17:56:53
Temat: Re: [AvrGCC] Jak zapisac znak specjalny
Od: Marcin <g...@d...TEGO.NIE.MA>
roxy pisze:
> Witam.
> jak zapisac w tablicy znakow znak specjalny np.
> char str[]="Temperatuta 15stC"
> zastępując znaki 'st' znakiem stopnia (koleczko) ?
> W CodeVisionAVR nie mialem problemu - stosowalem zapis np "\x34\x37\xdf" i
> mialem wstawione znaki. Avrgcc niestety wypisuje mi jakies krzaki.
>
>
zamiast
"\x34\x37\xdf"
może spróbuj
"\x34""\x37""\xdf"
Pozdr. MD
-
4. Data: 2009-01-27 19:51:10
Temat: Re: [AvrGCC] Jak zapisac znak specjalny
Od: Grzegorz Kurczyk <g...@c...slupsk.pl>
Użytkownik Marcin napisał:
> roxy pisze:
>> Witam.
>> jak zapisac w tablicy znakow znak specjalny np.
>> char str[]="Temperatuta 15stC"
>> zastępując znaki 'st' znakiem stopnia (koleczko) ?
>> W CodeVisionAVR nie mialem problemu - stosowalem zapis np
>> "\x34\x37\xdf" i mialem wstawione znaki. Avrgcc niestety wypisuje mi
>> jakies krzaki.
>>
>
>
> zamiast
> "\x34\x37\xdf"
> może spróbuj
> "\x34""\x37""\xdf"
>
W WinAVR (a dokładnie w PN) normalnie wstawiam znak specjalny przez lewy
Alt + (kod ASCII wystukany na klawiaturze numerycznej). W kodzie
źródłowym pojawia się jakiś śmieszny znaczek, ale w wynikowym jest to co
trzeba.
Pozdrawiam
Grzegorz
-
5. Data: 2009-01-27 21:59:02
Temat: Re: [AvrGCC] Jak zapisac znak specjalny
Od: max441 <m...@w...pl>
Użytkownik roxy napisał:
> Witam.
> jak zapisac w tablicy znakow znak specjalny np.
> char str[]="Temperatuta 15stC"
> zastępując znaki 'st' znakiem stopnia (koleczko) ?
> W CodeVisionAVR nie mialem problemu - stosowalem zapis np "\x34\x37\xdf" i
> mialem wstawione znaki. Avrgcc niestety wypisuje mi jakies krzaki.
>
>
Powinno działać tak jak piszesz. Jest jedno ale, jeśli używasz znaku
specjalnego w hex bezpośrednio przed literą z zakresu A-F to tę literę
też musisz zapisać jako kod np. w Twoim przypadku "Temperatura
15\xA7\x43". Druga rzecz (tego akurat nie jestem na 100% pewien) być
może trzeba też używać dużych liter w kodach hex.
pozdrawiam
Piotrek
-
6. Data: 2009-01-27 22:17:22
Temat: Re: [AvrGCC] Jak zapisac znak specjalny
Od: Adam Dybkowski <a...@4...pl>
max441 pisze:
>> W CodeVisionAVR nie mialem problemu - stosowalem zapis np
>> "\x34\x37\xdf" i mialem wstawione znaki. Avrgcc niestety wypisuje mi
>> jakies krzaki.
> Powinno działać tak jak piszesz. Jest jedno ale, jeśli używasz znaku
> specjalnego w hex bezpośrednio przed literą z zakresu A-F to tę literę
> też musisz zapisać jako kod np. w Twoim przypadku "Temperatura
> 15\xA7\x43".
Nie trzeba aż tak cudować, wystarczy zakończyć ciąg znaków cudzysłowem i
już można rozpocząć kolejny, np:
printf ("Temperatura 15\xA7" "C");
> Druga rzecz (tego akurat nie jestem na 100% pewien) być
> może trzeba też używać dużych liter w kodach hex.
Wielkość liter w kodach hex jest bez znaczenia.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
-
7. Data: 2009-01-28 20:02:50
Temat: Re: [AvrGCC] Jak zapisac znak specjalny
Od: "roxy" <k...@o...pl>
Użytkownik "Adam Dybkowski" <a...@4...pl> napisał w wiadomości
news:glo15f$241$3@news.wp.pl...
> max441 pisze:
>
>>> W CodeVisionAVR nie mialem problemu - stosowalem zapis np "\x34\x37\xdf"
>>> i mialem wstawione znaki. Avrgcc niestety wypisuje mi jakies krzaki.
>
>> Powinno działać tak jak piszesz. Jest jedno ale, jeśli używasz znaku
>> specjalnego w hex bezpośrednio przed literą z zakresu A-F to tę literę
>> też musisz zapisać jako kod np. w Twoim przypadku "Temperatura
>> 15\xA7\x43".
>
> Nie trzeba aż tak cudować, wystarczy zakończyć ciąg znaków cudzysłowem i
> już można rozpocząć kolejny, np:
> printf ("Temperatura 15\xA7" "C");
>
>> Druga rzecz (tego akurat nie jestem na 100% pewien) być może trzeba też
>> używać dużych liter w kodach hex.
>
> Wielkość liter w kodach hex jest bez znaczenia.
>
> --
> Adam Dybkowski
> http://dybkowski.net/
>
Dziekuje Panu Adamowi za pomoc.Wlasnie taki ("Temperatura 15\xdf" "C");
zapis gwarantuje poprawne wyswietlenie znaku.
-
8. Data: 2009-01-30 23:47:03
Temat: Re: [AvrGCC] Jak zapisac znak specjalny
Od: Adam Dybkowski <a...@4...pl>
roxy pisze:
>> Nie trzeba aż tak cudować, wystarczy zakończyć ciąg znaków cudzysłowem i
>> już można rozpocząć kolejny, np:
>> printf ("Temperatura 15\xA7" "C");
> Dziekuje Panu Adamowi za pomoc.Wlasnie taki ("Temperatura 15\xdf" "C");
> zapis gwarantuje poprawne wyswietlenie znaku.
BTW: Dla lepszej przejrzystości kodu warto od razu zdefiniować np.:
#define DEG_CHAR "\xDF"
a może i dodatkowo:
#define DEG_CENT DEG_CHAR "C"
po czym używać w programie w ten sposób:
printf ("Temperatura %d" DEG_CENT, temp);
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.