I made a program using getline that works fine. When I copied that program, word for word, semicolon for semicolon, it doesn't work anymore. I'm assuming that the reason is getline. In the program that I copied it into, you have to input a letter to get to the function that uses getline. Then, it displays everything, but completely skips over the inputting of the getline.
If you are using cin>> before getline(), the >> operator will leave newlines in the buffer, causing getline() to return the empty string immediately. Without any code I can't guess as to whether this is actually your problem or not.
I suspect the problem is exactly what I stated above. You should try to avoid mixing cin>> and getline(cin, ...) for exactly this reason, but you can also use cin's ignore() method to ignore the "extra" newline.