i am having trouble with testing to see if aData is equal to
exit i have tried a few diffrent things the only thing i
have relized is that the compiler say that aData is a multi character constant any help is greatly appreciated

while (exit != 1)
      {

    char aData = aPort.read ();

cout << aData;

if(aData == 'EXIT')
{
exit = 1;
}
            }

Recommended Answers

All 5 Replies

A character is a single character and not a string. 'a' is a character. 'Exit' is 4 characters 'E', 'x', 'i', 't'.

I guess you can do 3 things.

a) Compare 2 character arrays
b) Use a string
c) Use a single letter like, press 'E' to exit.

1) you can not compare a single character such as aData with a string such as "Exit".

2) 'Exit' must be surrounded with double quotes, such as "Exit".

i see what you guys mean but then how would i be able to make a bunch of char's into one var im new to c++ but if you can steer me in the right direction i greatly appreciate it

this is code im working on for a barcode scanner and i am using a class for the serial communications but when i get the data from there it prints fine but it populates it char by char how would i make that into one var ?

If you want to make it really easy then just replace char aData with string aData and you'll be done. If you need to use a char array then you need to use a function like strcmp(charArray1, charArray2). There's a nice little reference on the function...

Look at the examples on that page. They're very simple and match exactly what you are doing. If you follow the example then you'll be done.

good answer but as i was making it i relized it was better char by char because it was easier to get rid of certain chars and reformat it

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.