EmbDev.net

Forum: ARM programming with GCC/GNU tools Problems using char strings


von Vicente (Guest)


Rate this post
useful
not useful
Hello,

I'm using Eclipse with cygwin.

I have an app with a Timer 0 FIQ and a UART0 IRQ. The timer 0 is used to
simulate a PWM. In the UART ISR I have implemented a echo. I also have a
print(char *str) function. The problem is that the only way which the
program runs is declaring a string like that:

char str[100];

str[0]='q';
str[0]='w';
str[0]='e';
str[0]='r';
...

Print(str);

If I do this, everything works fine. But if I try to initialize the
string like this:
str = "qwert"
all interrups don't work anymore.

I have tried declaring:

const char *str;
const char *str = "qwerty";
Print("qwerty");
const char *str = {'q','w','e','r','t','y'};
...

and the conclusion I have at this moment is that if I use in my code the
character "" to indicate a string, it doesn't work.

Do you have any suggestion?
Thatk you very much.

von Jonathan D. (dumarjo)


Rate this post
useful
not useful
> const char *str;
> const char *str = "qwerty";
> Print("qwerty");
> const char *str = {'q','w','e','r','t','y'};
> ...
>

Hi,

I Ansi 'C' you should do this:

char str[] = "hello world";

you need to reserve the space in memory to store your string.

regards

Jonathan

von Clifford S. (clifford)


Rate this post
useful
not useful
Vicente wrote:
> and the conclusion I have at this moment is that if I use in my code the
> character "" to indicate a string, it doesn't work.

In what way does it not work - fails to compile or runtime failure?
Describe the failure mode. Post the build log if it fails to build; post
complete example code rather than fragments in either case. Make sure
that you build with -Wall -Werror, compiler options, and clear up any
warnings.

Perhaps use of literal string constant where a constant is invalid? Hard
to tell from your post.

Clifford

Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.