How can I format currency with commas in C?
===

I'm looking to format a Long Float as currency in C.  I would like to place a dollar sign at the beginning, commas iterating every third digit before decimal, and a dot immediately before decimal.  So far, I have been printing numbers like so:

`printf("You are owed $%.2Lf!\n", money);`

which returns somehting like

`You are owed $123456789.00!`

Numbers <b>should</b> look like this

`$123,456,789.00`<br />
`$1,234.56`<br />
`$123.45`

Any answers need not be in actual code.  You don't have to spoon feed.  If there are c-related specifics which would be of help, please mention.  Else pseudo-code is fine.

Thanks.