std::string and Unicode problem

Started by
3 comments, last by Oluseyi 19 years, 6 months ago
Is it possible that std::string find() function will not recognize certain characters? For example:

std::string test = "☺VERSION☺";

int result = test.find("☺");

//result always equals (-1) meaning it didnt find it


ok its formatting it into some WEIRD garbage here on the board, buts its a small smiley face type character.... thanks
Advertisement
You want std::wstring.
Thanks, ill give it a shot.
Are you sure your giving us the exact code as above because this works:

#include <string>#include <iostream>int main() {   std::string test("&#9786;VERSION&#9786;"), key("&#9786;");   std::string::size_type result = test.find(key);   if(result != std::string::npos)     std::cout << "found at pos: " << result << ", word: " << test.substr(result, key.length()) << std::endl;   else     std::cout << "Not found" << std::endl;   return 0;}


All of those characters are in ascii character set, you don't need wstring unless you are going to use wide characters but i don't see that being the case.
@snk_kid:
He's not trying to search for any of the characters in the ASCII string "&#9786;". He's trying to search for the UNICODE character ☺, who's HTML entity is "&#9786;". He formatted it that way for this forum.

This topic is closed to new replies.

Advertisement