Jump to content

  • Log In with Google      Sign In   
  • Create Account

VC++ Question


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
11 replies to this topic

#1 Axehandler   Members   -  Reputation: 122

Like
Likes
Like

Posted 14 April 2000 - 05:12 AM

Okay, now I know to MOST of you this is going to sound like a SILLY question, BUT.. how the heck do you declare a "STRING"??? Everything I''ve learned about VC++ is off the tuts and my own digging.. but I''ll be darned if I can figure out why a simple string is such a pain to create. =( Delphi made it SO easy =( Axehandler

Sponsor:

#2 olp-fan   Members   -  Reputation: 122

Like
Likes
Like

Posted 14 April 2000 - 05:31 AM

You can use C Character Arrays.

Or use Standard C++ ''string'' data-type. It is an overloaded class that can allow you to do just about anything with your strings

#3 Anonymous Poster_Anonymous Poster_*   Guests   -  Reputation:

Likes

Posted 14 April 2000 - 06:55 AM

welp, really strings don''t exist unless you
1) use mfc
2) use c++ data type

strings in C are basically arrays of characters. even before delphi oldschool pascal also declared strings as arrays of characters.

char string[30];


#4 Jesse Chounard   Members   -  Reputation: 394

Like
Likes
Like

Posted 14 April 2000 - 07:57 AM

Here's some stuff that might help you a bit:

In C/C++ strings are character arrays, and the terminator character for the string is '\0' (The NULL character).

For example the character array for the string "Hello!" would be:
'H' 'e' 'l' 'l' 'o' '!' '\0'

Here are some functions that you should look into in the help files:

strcpy - copys one string to another
strlen - gives the length of the string
strcat - concatenates 2 strings

I hope that was helpful and not too confusing. Feel free to send me an email if you need more clarifications, or some example source code on how to use strings.

Jesse Chounard
stinkygoop@crosswinds.net

Edited by - Jesse Chounard on 4/14/00 1:58:36 PM

#5 Axehandler   Members   -  Reputation: 122

Like
Likes
Like

Posted 14 April 2000 - 08:05 AM

Actually, Delphi forced us to use the char base if you "REALLY" wanted to manipulate the strings. so basicly I can declare an open char array such as.

char MyString[]
Mystring = "Hello all"

then Mystring can simply be my string, course I would think this would be a tad rough on the mem =)

But am I correct here?

#6 Axehandler   Members   -  Reputation: 122

Like
Likes
Like

Posted 14 April 2000 - 08:20 AM

Okay Guys,

Thanks for the info on the char, works like a charm!

char FPSText[]="test";
KillGLWindow(); // Kill The Window
timer2 = GetTickCount();
fps = frames * 180 / (timer1-timer2);
_itoa( fps, FPSText, 10 );
MessageBox(NULL,FPSText,"Frames Per Second",MB_OK/MB_ICONEXCLAMATION);
return (msg.wParam);

Axehandler

#7 sc0rpy   Members   -  Reputation: 122

Like
Likes
Like

Posted 14 April 2000 - 08:20 AM

Well, typically if you know your string isn''t ever going to change then yes, you can just simply declare your string like:

char *mystring;
mystring ="This is a string"

the problems are that you can''t really modify that string and it''s dangerous to do any changes to it. Really, if you want to make the string flexible you could do something like:

#define MY_MAX_STR_LENGTH 256
char mystring[MY_MAX_STR_LENGTH];
strcpy(mystring,"This is a string");

this way you have set your string to accept anything up to 256 characters. Beware tho as if your string you''re copying or changing exceeds that 256 (or whatever boundary you''ve set) then you will see fireworks (translation: crash).

this stuff is fairly basic so for more information (for dynamic strings that change length, etc) you should read some tutorials on strings, memory allocation and array boundary checking.

Or use MFC''s data-types.. it does all the boundary checking etc, for you.

Hope this helps.

#8 Axehandler   Members   -  Reputation: 122

Like
Likes
Like

Posted 14 April 2000 - 08:49 AM

AHH.... I see what you mean, After declearing what the inital text is, thats the limit of the array. So in the above example, my char array using "TEST" is MAX of 5 (4 char''s & 1 null)

So I couldn''t declare my array with a larger word without causing havoc. okay this is pretty easy now. Got it! =)

THANKS again.

#9 Anonymous Poster_Anonymous Poster_*   Guests   -  Reputation:

Likes

Posted 14 April 2000 - 12:38 PM

in C++ you can use CString, not requiring you to account for length or a null terminator.

#10 Axehandler   Members   -  Reputation: 122

Like
Likes
Like

Posted 14 April 2000 - 01:47 PM

I looked at cstring, didn''t like it =) the char based is easy enough. and allows as much functionality as I need.

Axehandler

#11 jwalker   Members   -  Reputation: 122

Like
Likes
Like

Posted 14 April 2000 - 01:55 PM

u can use this

#include

void abc() {
LPSTR lpszMyString = "jwalker";




}



#12 Anonymous Poster_Anonymous Poster_*   Guests   -  Reputation:

Likes

Posted 14 April 2000 - 02:30 PM

If you are using C++, how about the STL string? (in ) Not only are they built into C++, they are simple to use, fast, and they port effortlessly from platform to platform (as they are from the STL). Also it makes it easy to do program internationalisation etc.

There is a semi-good reference here:
http://www.sgi.com/Technology/STL/basic_string.html




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS