cin.eof() functionality

I understand that cin.eof() tests the stream format. And while giving input, end of character is not reached when there is wrong in the input. I tested this on my MSV C++ 2010 and am not understanding the strange results. No matter what I give the input, I am getting Format Error message that is … Read more

Which is faster C++ String length() or size()?

Both have the same complexity: Constant. From the N4431 working draft, §21.4.4 size_type size() const noexcept; Returns: A count of the number of char-like objects currently in the string. Complexity: Constant time. And size_type length() const noexcept; Returns: size(). […] iterates through all the characters and counts the length […] That’s C strings you’re thinking … Read more

Case insensitive string comparison C++

strncasecmp The strcasecmp() function performs a byte-by-byte comparison of the strings s1 and s2, ignoring the case of the characters. It returns an integer less than, equal to, or greater than zero if s1 is found, respectively, to be less than, to match, or be greater than s2. The strncasecmp() function is similar, except that it compares no more than n bytes of s1 and s2…

std::string length() and size() member functions

As per the documentation, these are just synonyms. size() is there to be consistent with other STL containers (like vector, map, etc.) and length() is to be consistent with most peoples’ intuitive notion of character strings. People usually talk about a word, sentence or paragraph’s length, not its size, so length() is there to make … Read more