|
With the strcmp() function.
Jon Sagara
What about ?
Sonork ID: 100.9999 jonsagara
|
|
|
|
|
Jon Sagara wrote:
With the strcmp() function.
or even lstrcmp(), if you want to use the Win32 api to do it.
impuzible
|
|
|
|
|
or _tcscmp().
Jon Sagara
What about ?
Sonork ID: 100.9999 jonsagara
|
|
|
|
|
I always liked being nice the the user...
_tcsicmp
Tim Smith
I know what you're thinking punk, you're thinking did he spell check this document? Well, to tell you the truth I kinda forgot myself in all this excitement. But being this here's CodeProject, the most powerful forums in the world and would blow your head clean off, you've got to ask yourself one question, Do I feel lucky? Well do ya punk?
|
|
|
|
|
Bah - let 'em suffer, I say!
Jon Sagara
What about ?
Sonork ID: 100.9999 jonsagara
|
|
|
|
|
Ultimately, char arrays are ugly C, and also not safe, as has been noted. You'll end up using CString or std:string just like everyone else, but for some reason the books all take a low to high approach which shows you the std library AFTER you've learned things the unnecessarily hard way.
Christian
The tragedy of cyberspace - that so much can travel so far, and yet mean so little.
|
|
|
|
|
People should still learn how to use C strings. They are very powerful and VERY safe when used properly.
Tim Smith
I know what you're thinking punk, you're thinking did he spell check this document? Well, to tell you the truth I kinda forgot myself in all this excitement. But being this here's CodeProject, the most powerful forums in the world and would blow your head clean off, you've got to ask yourself one question, Do I feel lucky? Well do ya punk?
|
|
|
|
|
Tim Smith wrote:
People should still learn how to use C strings.
Absolutely - I just dispute the idea they should learn it first...
Christian
The tragedy of cyberspace - that so much can travel so far, and yet mean so little.
|
|
|
|
|
Woops, my fault then. I misunderstood you.
Tim Smith
I know what you're thinking punk, you're thinking did he spell check this document? Well, to tell you the truth I kinda forgot myself in all this excitement. But being this here's CodeProject, the most powerful forums in the world and would blow your head clean off, you've got to ask yourself one question, Do I feel lucky? Well do ya punk?
|
|
|
|
|
Lofote wrote:
char r[256]; //note that if user inputs more than 255 characters, program might crash
gets(r);
if(strcmp(r,"ok")==0)
{
cout << ("good job");
}
Thanks man, although i did change the character memory amount to 255. The if statment worked!
This is awesome, thank you allot. Ill let the help files help me with how it works, and i may see you all later.
~SilverShalkin
The perfect puzzle, Programming.
|
|
|
|
|
Why did you change the buffer size to 255?
Is it really likely that your user will enter exactly 254 charcters but no more?
(remember, with char arrays for strings, you always need one more byte than the number of characters you plan to store. convention is to terminate strings with a 0 (aka NULL). All the LIBC functions (strcat,strcmp,strlen etc etc) depend on that.)
Sorry to dissapoint you all with my lack of a witty or poignant signature.
|
|
|
|
|
SilverShalkin wrote:
char r[256];
if (r == "ok")
To answer your original question, that code compiles because both sides of the comparison can be converted to the same type.
"ok" is of type char*
r can be converted to char* through language rules. A one-dimensional array can be implicitly converted to a pointer to the element type, so char[] becomes char* . Voilà.
--Mike--
Best score on the mini-putt game: 26
My really out-of-date homepage
Sonork - 100.10414 AcidHelm
Big fan of Alyson Hannigan and Jamie Salé.
|
|
|
|
|
I stand corrected.
|
|
|
|
|
I was wondering if someone out there could help me out. Why wont the
following code work
//I have a clistctrl as member variable of the following dialog and want
//to catch messages sent from the clistctrl within this dialog
BOOL TVC_RC_Dlg::OnChildNotify( UINT message, WPARAM wParam,
LPARAM lParam, LRESULT* pLResult)
{
switch ( message ) {
//this case is just an example of one
//of the many im after
case LVN_BEGINLABELEDIT: //Or any other msg sent from a clistctrl
return 0; //Execution never gets here
break;
default :
break;
}
return CDialog::OnChildNotify(message, wParam, lParam, pLResult);
}
Thanks to anyone who can help, or anyone who even read my question
lm
|
|
|
|
|
OnChildNotify would be executed on the list control itself, not it's parent dialog. Use OnNotify instead.
|
|
|
|
|
I have designed a control currently derived from CView, but i'm gonna convert it to a CWnd instead. However I would like to later wrap the CWnd control in a CView like CTreeCtrl is with CTreeView.
How would I go about doing this...
Where is the implementation for CTreeView...?
learn from example kinda thing. It looks like the CView wrappers just return a reference to the CWnd control, which seems simple enough.
Anybody got any suggestions for me..?
Thanx!
"An expert is someone who has made all the mistakes in his or her field" - Niels Bohr
|
|
|
|
|
IMHO it handles WM_SIZE message and resize control accordingly
|
|
|
|
|
I want to have an option in my program which will let the user specify a folder for keeping the log files. This folder should not be accessible (no read, no write, and nothing else) by anyone EXCEPT System and Administrator. How do I do this? Could someone give me an example code to explain things a bit? The target system would be NT/2000 servers. Any help or pointers would be greatly appreciated.
Thanks,
impuzible
|
|
|
|
|
I have a class delived from CWnd and in OnNCPaint is the code for drawing color edge(border) of control. I need draw scrollbar myself because this code is not optimal(it blink ) :
void CMyClass::OnNCPaint(){
CWnd::OnNCPaint();
CWindowDC dc(this);
CRect rect;
GetWindowRect(rect);
dc.Draw3dRect(0,0,rect.Width(),rect.Height(),RGB(0,255,0),RGB(255,0,0));
}
Thanks!
|
|
|
|
|
Hmmm... I don't know what type of control you're trying to paint, but scrollbars usually are inside the client area (I think).
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
I thought so too. They do flicker quite a bit though while in the client area...I don't know if non-client area would be any better though. Do you think it's because the entire client area is getting invalidated instead of just the drawing area inside the client area...?
"An expert is someone who has made all the mistakes in his or her field" - Niels Bohr
|
|
|
|
|
Well, it depends. 'Internal' scrollbars maintained by Windows are drawn outside client rect. If you create them yourself as controls, they will cover parts of client area.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
If internal scrollbars are drawn outside the client rect, this means they shouldn't flicker right..?
I've never actually used internal scrollbars...i've always liked the freedom of adding buttons between the scrollbars. However they are usually created inside the client area and get redrawn on every invalidate() which causes crazy flicker. Do the system scrollbars flicker? Cuz i'd do away with my buttons for the trade off of no flicker.
Cheers!
"An expert is someone who has made all the mistakes in his or her field" - Niels Bohr
|
|
|
|
|
The reason they flicker is that you're drawing the client area and then windows draws the scrollbars on top.
Theres an article somewhere on MSDN about why scrollbars are drawn internally and hence can't be customised.
when i did a sort of skinned app, the only way i could get scroll functionality with nice looking scroll bars was to bodge a CFormView onto my dialog, and then use a custom written control to be a scrollbar, and scroll the view window internally. it was messy but it worked.
jon
Sorry to dissapoint you all with my lack of a witty or poignant signature.
|
|
|
|
|
I don't think you can paint the scrollbars yerself in the OnNCPaint...
You probably have to derive clases from CScrollBar make them owner drawn and do it that way.
Cheers!
"An expert is someone who has made all the mistakes in his or her field" - Niels Bohr
|
|
|
|