I work for a non-profit agency in NYC that provides a full range of service to homeless adults and those at risk of becoming so. I'm sitting in a homeless shelter in Harlem as I type this. I absolutely 100% NEVER give anyone a dime, whether they have a child with them or not, whether they're about to pass out due to hunger. I care, but refuse to give them anything. In fact, I won't go into a store to buy them food. I won't give them my coat if it's cold. I refuse to buy them a cup of coffee.
Much like most major metropolitan areas of the country, NYC has a TON of services for folks ,it's entirely up to them to accept those services and help themselves. I know that 75% of the homeless population, at least in NYC, have either a mental illness, a chemical addiction problem, usually both, and it's easy to think they don't have their wits about them enough to accept assistance. I do not buy that at all.
I work with those folks Monday through Friday and quite a few weekends. There are services and there are constant attempts to offer said services. It's up to the individual to help themselves. Our belief is that to give them change, or a sandwich, a coat, or a pair of shoes, enables them and encourages them to continue living on the streets.
Don't do it any longer. It's tough, it sounds cold and heartless, but you're not helping them at all by doing that.