Rate my code

Hey,
I'm a beginning C++ programmer and I'm writing a console file-search application that uses a DataBase with a list of files (like locate from the linux shell). Below is the sourcecode that I've written so far. I'm posting it here because I don't know any good programmers myself and I would really like to get some tips and comments to push me in the right direction.

Besides that, I've also got a few specific questions:

1)
The inline function UnDefBit sets a bit to zero by doing the following:
lineofbits = ((2^32)-1 - 2^bitnumber) AND lineofbits.
I was wondering if there is an easier way to do this because this seems kind of time-consuming to me, and I'd rather not load the math.h library.

2)
Someone told me that I should use a DWORD for storing rows of bits. Why should I use a DWORD instead of a long int?