Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

strcmp or string::compare?

I want to compare two strings. Is it possible with strcmp? (I tried and it does not seem to work). Is string::compare a solution?

Other than this, is there a way to compare a string to a char?


Thanks for the early comments. I was coding in C++ and yes it was std::string like some of you mentioned. I didn't post the code because I wanted to learn the general knowledge and it is a pretty long code, so it was irrelevant for the question.

I think I learned the difference between C++ and C, thanks for pointing that out. And I will try to use overloaded operators now. And by the way string::compare worked too.

like image 828
Perex19 Avatar asked Mar 30 '11 21:03

Perex19


2 Answers

For C++, use std::string and compare using string::compare.

For C use strcmp. If your (i meant your programs) strings (for some weird reason) aren't nul terminated, use strncmp instead.

But why would someone not use something as simple as == for std::string ?

like image 114
Sadique Avatar answered Oct 14 '22 19:10

Sadique


Assuming you mean std::string, why not use the overloaded operators: str1 == str2, str1 < str2?

like image 28
Mark B Avatar answered Oct 14 '22 19:10

Mark B