Solved

outputing character array to a text box using vc++ 2005 express

Posted on 2006-06-27
12
773 Views
Last Modified: 2008-02-01
I apologize for my ignorance, but...

I have a char array that I need to output to a textbox. I have this now...

     Memo1->AppendText("    Item Name: " + Msg.ItemName8[0].ToString() + "\r\n");

Obviously, this only outputs the ascii value stored in [0] of the array. What is the best way to output the full array in ascii characters???

Code is helpful here :)

Thanks!
0
Comment
Question by:demilune
[X]
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
  • 5
  • 2
12 Comments
 
LVL 11

Expert Comment

by:Jase-Coder
ID: 16999006

Memo1->AppendText("    Item Name: " + Msg.ItemName8.ToString() + "\r\n");
0
 

Author Comment

by:demilune
ID: 16999018
Jase...

That is what I had thought too, but I can't get around this compiler error:

error C2228: left of '.ToString' must have class/struct/union type is 'unsigned char [16]'
0
 
LVL 11

Expert Comment

by:Jase-Coder
ID: 16999037
try removing the .ToString
0
[Webinar] How Hackers Steal Your Credentials

Do You Know How Hackers Steal Your Credentials? Join us and Skyport Systems to learn how hackers steal your credentials and why Active Directory must be secure to stop them. Thursday, July 13, 2017 10:00 A.M. PDT

 
LVL 11

Expert Comment

by:Jase-Coder
ID: 16999041
or do

Memo1->AppendText("    Item Name: " + String(Msg.ItemName8) + "\r\n");
0
 

Author Comment

by:demilune
ID: 16999047
Tried that too... I get the following:

error C2679: binary '+' : no operator found which takes a right-hand operand of type 'unsigned char *' (or there is no acceptable conversion)
        could be 'built-in C++ operator+(volatile const System::Object ^, volatile const System::String ^)'
        or 'built-in C++ operator+(volatile const System::String ^, volatile const System::Object ^)'
        or 'built-in C++ operator+(volatile const System::String ^, volatile const System::String ^)'
        while trying to match the argument list '(System::String ^, unsigned char *)'
0
 

Author Comment

by:demilune
ID: 16999049
If I try the String( ... ) option, I get:

error C2440: '<function-style-cast>' : cannot convert from 'unsigned char [16]' to 'System::String'
        No constructor could take the source type, or constructor overload resolution was ambiguous
0
 

Author Comment

by:demilune
ID: 16999072
I ended up doing the following and it is working...

unsigned char ItemName[16];

....

std::string cppString;

cppString = (const char *)ItemName;

 Memo1->AppendText(gcnew System::String(cppString.c_str()));  <=====
0
 
LVL 22

Accepted Solution

by:
mahesh1402 earned 250 total points
ID: 16999074
have you tried this ? as i suggested

unsigned char ItemName[16];

....

std::string cppString;

cppString = (const char *)ItemName;

 Memo1->AppendText(new System::String(cppString.c_str());  <=====
0
 

Author Comment

by:demilune
ID: 16999080
Mahesh...

That worked, I only had to replace the "new" with "gcnew"

Thanks alot both of you for your help!
0
 
LVL 11

Expert Comment

by:Jase-Coder
ID: 16999084
I dont use managed C++ but I'll take a look now.
0
 
LVL 22

Expert Comment

by:mahesh1402
ID: 16999087
demilune you have accepted wrong answer in MFC TA for this Q.. i think you need to change it
0
 
LVL 11

Expert Comment

by:Jase-Coder
ID: 16999135
this works:

char szText[100] = "Jason";
textBox1->Text = gcnew String(szText);
0

Featured Post

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

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

The following diagram presents a diamond class hierarchy: As depicted, diamond inheritance denotes when two classes (e.g., CDerived1 and CDerived2), separately extending a common base class (e.g., CBase), are sub classed simultaneously by a fourt…
In Easy String Encryption Using CryptoAPI in C++ (http://www.experts-exchange.com/viewArticle.jsp?aid=1193) I described how to encrypt text and recommended that the encrypted text be stored as a series of hexadecimal digits -- because cyphertext may…
There are cases when e.g. an IT administrator wants to have full access and view into selected mailboxes on Exchange server, directly from his own email account in Outlook or Outlook Web Access. This proves useful when for example administrator want…
In this video, viewers will be given step by step instructions on adjusting mouse, pointer and cursor visibility in Microsoft Windows 10. The video seeks to educate those who are struggling with the new Windows 10 Graphical User Interface. Change Cu…

734 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