Categories:
.NET (357)
C (330)
C++ (183)
CSS (84)
DBA (2)
General (7)
HTML (4)
Java (574)
JavaScript (106)
JSP (66)
Oracle (114)
Perl (46)
Perl (1)
PHP (1)
PL/SQL (1)
RSS (51)
Software QA (13)
SQL Server (1)
Windows (1)
XHTML (173)
Other Resources:
Here is a neat trick for checking whether two strings are equal
Q: Here's a neat trick for checking whether two strings are equal:
if(!strcmp(s1, s2))
Is this good style?
✍: Guest
It is not particularly good style, although it is a popular idiom. The test succeeds if the two strings are equal, but the use of ! (``not'') suggests that it tests for inequality.
Another option is to define a macro:
#define Streq(s1, s2) (strcmp((s1), (s2)) == 0)
which you can then use like this:
if(Streq(s1, s2))
Another option (which borders on preprocessor abuse;is to define
#define StrRel(s1, op, s2) (strcmp(s1, s2) op 0)
after which you can say things like
if(StrRel(s1, ==, s2)) ...
if(StrRel(s1, !=, s2)) ...
if(StrRel(s1, >=, s2)) ...
2015-05-15, 1594👍, 0💬
Popular Posts:
How do we access attributes using “XmlReader”? Below snippets shows the way to access attributes. Fi...
How do I use forms? The basic syntax for a form is: <FORM ACTION="[URL]">...&l t;/FORM>Wh...
What are urlencode() and urldecode() functions in PHP? string urlencode(str) - Returns the URL encod...
What is continuous and staged representation? CMMI contains 25 key process areas which organization ...
Why is it preferred to not use finalize for clean up? Problem with finalize is that garbage collecti...