Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Concatenating strings #1

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Concatenating strings #1

wants to merge 1 commit into from

Conversation

ghost
Copy link

@ghost ghost commented Oct 1, 2016

For me, the IDE couldn't concatenate the int types with strings. So I had to create 3 strings and concatenate them.

For me, the IDE couldn't concatenate the int types with strings. So I had to create 3 strings and concatenate them.
@kdhansen
Copy link
Member

kdhansen commented Oct 1, 2016

First off, thanks for contributing.

However, your problem seems strange. Have a look at the official Arduino Reference for the object String this clearly states that adding integers is allowed and should work since version 0019 (which is a long time ago). My IDE certainly does not complain, so maybe something else is wrong...

String servo=String(i);
String text=String(": ");
String posit=String(pos);
String report = String(servo+text+posit);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't like the style here. There is really no reason to make three String objects and concatenate them in a String constructor.
If concatenation of integers in strings does not work, why not just change line 38 to:
report = String(i) + String(": ") + String(pos)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The syntax is obviously amateur. My point was that it couldn't concatenate the int types with the string ": ". I also found this site. If you scroll a bit down it actually explains the same scenario of concatenation. It says "This won't compile because the compiler doesn't handle the operator precedence correctly." I use the 1.0.6 version for the Crustcrawler.

Anyway, I just changed the code on my computer. If you say it works for you than something must be wrong on my side, but I wrote the code line by line and the only time it couldn't compile was when I tried to create the report string.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One more thing, I might have mislead you. The IDE can compile, but if I upload the code to the robot and open the serial monitor with the original code I only get a bunch of ones. Nothing else. However changing the code seemed to work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant