[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now


Beginner: merging array with string ???

Posted on 2000-04-19
Medium Priority
Last Modified: 2010-04-02
hi my code is following:

void CW1Dlg::OnUpdateEdit1()
      phoneNumbers[1] = m_strMessage+phoneNumbers[1] ;
but theres only an accumulation of the umbers not a merging.
i want array number 1 merged with m_strMessage.
Can anyone help ?
Question by:peter_b
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 4
LVL 22

Accepted Solution

nietod earned 150 total points
ID: 2730996
We don't know what these things are, so it is hard to answer.  

However, if you are using C-style strings. you cannot concatenate them using +, you must use the strcat() function like

char String1[100] = "this is";
char String2[] = "A test."

Makes string1 store "this is a test";

However, using C-style strings in C++ is not hardily recomended.  It depends on many factors, but usually you are better of using s string class, like the STL stirng class.

Author Comment

ID: 2731110
its Visual C++ 6 i am fighting with.
So how can I merge then ?

LVL 22

Expert Comment

ID: 2731782
Well I stil; don't know what "they" are.   I guessed that you are dealing with character strings, but that might not even be true.  If they are strigns, how did you declare them?  if they aren't what are they.   You have to understand that I have only 3 lines of code to work with.  These lines use 2 undefined variables, an undefined class, and an undefined function.  I am an expert, but not a psychic...
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Author Comment

ID: 2733336
sorry i am a beginner working with some books i follow.
i declared m_strMessage with the classwizard to be a string value. It comes from user input (text box 3 numbers alowed only).
the declaration of the array is:
int phoneNamesCount = 1;
CString phoneNames[]      = {"Ve", "B", "Ba"};
CString phoneNumbers[]      = {"0622370", "", ""};

so i need to add the user input before the number 0622370 the second third...
i simply dont know the command to merge them. I allways get lost  in MSDN library...

thanks for helping.

Author Comment

ID: 2733564
DDX_Text(pDX, IDC_EDIT1, m_strMessage);
m_strMessage = _T("");

thats all i can find on declaration of the strings
LVL 22

Expert Comment

ID: 2734072
DDX_TEXT is used for dynamic data exchange (DDE).  A you using DDE?

As far as I know, this does not work with strings.  This is out of my area of expertise, but it seems that the last parameter, m_strMessage int this case, is numerical in nature.  i.e. it must be a number, not text, not a string

Wait, it can be a CString though.  Did you declare m_strMessage as a CString?  A CString is a string object, that is, a c++ object that acts like a character string.

Note I am leaving town today in about 6 hours.  i will be back in 4 days.

>> so i need to add the user input before
>> the number 0622370 the second third...
What do yuou meant by "add"  do you mean actually--numerically add the values.  That cannot be done directly.  You have to convert the value _represented_ by the strings to a numeritcal data type of some sort.  Then add this numerical value.  Then convert this value back to a string representation.

Or do you mean combine (concatenate) the strings?  You can combine two strings with operator +.  Like
CString X = "this is ";
CString Y = "a test";
CString Z = X + Y; // Stores "this is a test.";

Author Comment

ID: 2734317
phoneNumbers[1] = m_strMessage+phoneNumbers[1] ;

concatenate dont know really what i need is:
333+444 = 333444

if i enter 1 messagebox shows 1
i enter another 2 messagebox shows 121
another 3 --> 123121

so this is absolutely not what i need...
i thought with CString phoneNumbers[] = {"0622370", "", ""};
phoneNumbers[1] would be 0622370
now it is overwritten with what i enter in the box.

using DDE : i dont know :)
LVL 22

Expert Comment

ID: 2734436
If you enter "1", where does the 1 get stored?

If you don't know what it is, you're not using DDE.  Except you are using it....  Did this code come from somewhere?

Author Comment

ID: 2734439
CString Number = "06223";
phoneNumbers[1] = m_strMessage+Number ;

ok works like this

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

  Included as part of the C++ Standard Template Library (STL) is a collection of generic containers. Each of these containers serves a different purpose and has different pros and cons. It is often difficult to decide which container to use and …
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.
Suggested Courses

649 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question