Depends on what you give to the meaning of charity. The dictionary's definition, "generous actions or donations to aid the poor, ill, or helpless: to devote one's life to charity," anyone can do this, not just Catholics.
However, Charity has a much greater significance in Catholicism than this, because a very important dimension is added to it, in that Charity is an expression of friendship with God. It is more than giving to someone who is "lesser" than you (by this I mean such things as having lesser money, health, fortune, etc). It is being in the service of God (from which we are united to Him and become His friends). This is something that cannot be done by one who denies God or denies what He says.
And yes, you do not have to be a Catholic to be happy. Atheists can be happy, because they share in the Divine Existence via the natural realm. If they did not, they would not be here.