[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [avr-gcc-list] Re: Strings: escape sequence to insert arbitrary hex
From: |
Chris Kuethe |
Subject: |
Re: [avr-gcc-list] Re: Strings: escape sequence to insert arbitrary hex value ? |
Date: |
Thu, 5 Feb 2009 00:06:40 -0700 |
#include <stdio.h>
int main(){
char *m = "try use \x68\x65\x78\x20\x65\x73\x63\x61\x70\x65\x73\x3f";
printf("%s\n", m);
return 0;
}
On Wed, Feb 4, 2009 at 11:58 PM, David Brown <address@hidden> wrote:
> Vincent Trouilliez wrote:
>>
>> On Thu, 5 Feb 2009 15:18:44 +1030
>> "Daniel O'Connor" <address@hidden> wrote:
>>
>>> You can define it like so..
>>> #define LCD_CUSTOM_CHAR_FOO "\012"
>>>
>>> then you can do..
>>> char example[] = "foo" LCD_CUSTOM_CHAR_FOO "bar";
>>>
>>> You might be able to do something more clever but I don't know how :)
>>
>>
>> Thanks Daniel (and Ivan as well, off-list), that worked a treat ! :-)
>>
>> Only drawback I found, is that I must now have TWO #defines for each and
>> every custom character: one #define to represent the character as a
>> string, so I can embed it into a string, and also all the #defines I
>> already had, which represent the actual numerical value, for when I
>> need to print an individual/discrete character rather than print a
>> string. It's not the end of the world, but not very elegant either, so
>> if anybody has a solution to make do with only one define per character,
>> I am all ears ;-)
>>
>
> An alternative idea is to find an ASCII character that you don't need
> otherwise (say, "~"), and use it in your strings. Then do on-the-fly
> conversion when outputing the strings:
>
> char example[] = "foo~bar";
>
> void lcdWriteString(const char* p) {
> while (char c = *p++) {
> if (c == '~') {
> lcdWriteChar(LCD_CUSTOM_CHAR_FOO);
> } else {
> lcdWriteChar(c);
> }
> }
> }
>
> As long as you don't have too many, the overhead won't be bad (and the
> substitute characters won't be too confusing). It should also work with
> characters >= 128 as the substitutes, I believe.
>
>
>
>
>
> _______________________________________________
> AVR-GCC-list mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/avr-gcc-list
>
--
GDB has a 'break' feature; why doesn't it have 'fix' too?
- [avr-gcc-list] Strings: escape sequence to insert arbitrary hex value ?, Vincent Trouilliez, 2009/02/04
- Re: [avr-gcc-list] Strings: escape sequence to insert arbitrary hex value ?, Daniel O'Connor, 2009/02/05
- Re: [avr-gcc-list] Strings: escape sequence to insert arbitrary hex value ?, Vincent Trouilliez, 2009/02/05
- [avr-gcc-list] Re: Strings: escape sequence to insert arbitrary hex value ?, David Brown, 2009/02/05
- Re: [avr-gcc-list] Re: Strings: escape sequence to insert arbitrary hex value ?,
Chris Kuethe <=
- RE: [avr-gcc-list] Re: Strings: escape sequence to insert arbitrary hex value ?, Schwichtenberg, Knut, 2009/02/05
- Re: [avr-gcc-list] Re: Strings: escape sequence to insert arbitrary hex value ?, Chris Kuethe, 2009/02/05
- Re: [avr-gcc-list] Re: Strings: escape sequence to insert arbitrary hex value ?, Juergen Harms, 2009/02/05
- Re: [avr-gcc-list] Re: Strings: escape sequence to insert arbitrary hex value ?, David Kelly, 2009/02/05
- RE: [avr-gcc-list] Re: Strings: escape sequence to insert arbitrary hex value ?, Dave Hansen, 2009/02/05
- Re: [avr-gcc-list] Re: Strings: escape sequence to insert arbitrary hex value ?, Vincent Trouilliez, 2009/02/05
- Re: [avr-gcc-list] Re: Strings: escape sequence to insert arbitrary, lucio, 2009/02/05
- Re: [avr-gcc-list] Re: Strings: escape sequence to insert arbitrary, Jim Brain, 2009/02/05
- Re: [avr-gcc-list] Re: Strings: escape sequence to insert arbitrary, Vincent Trouilliez, 2009/02/05
- Re: [avr-gcc-list] Re: Strings: escape sequence to insert arbitrary hex value ?, David Kelly, 2009/02/05