When inserting elements in a set it should only insert unique elements but I get duplicates too.

What am I doing wrong?

Code:
#include <iostream>     // cout
#include <algorithm>    // unique, distance
#include <string>
#include <iterator>     // std::back_inserter
#include <set>
#include <vector>       // vector
using namespace std;


bool strcmpFunc(const char *c1, const char *c2)
{
    return strcmp(c1, c2) < 0;
}

char *url[]=
{
    "bbbb",
    "bbbb",
    "aaa",
    "ccccccc",
    "a",
    "aaa"
};

int main ()
{

    vector <char*> v;
    std::set<char*> myset;

    int size =  sizeof(url)/sizeof(url[0]);

    for (int i=0; i< size; ++i)
        v.push_back(url[i]);

    cout << v.size()  <<'\n';

    sort(v.begin(), v.end(), strcmpFunc);

    myset.insert(v.begin(), v.end());

    std::set<char*>::iterator it2;
    std::cout << "myset contains: \n";
    for (it2=myset.begin(); it2!=myset.end(); ++it2)
        std::cout << *it2 << '\n';
    std::cout << '\n';

    cout << myset.size() << '\n';
    return 0;
}