Possibly. If the records have strings then it's likely that the fixed length record allows some maximum number of characters in the string and it always allocates that maximum amount, regardless of whether they are all used. This is wasteful of space, but there may be other advantages of using the fixed length record (e.g., then n'th record is located at byte number n*record_size). A fixed length record is useful when the performance benefits outweigh the cost of the wasted space.
The term "wasted" is a bit of an imaginative stretch in this regard. I have a feeling that the article coder777 linked to explains this better, but a modern OS allocates pages of memory in blocks of a predefined size at a time. If you are even one byte over the page boundary of what is allocated to you then BOOM! You trigger a page fault and get allocated an entire new block of memory for that one piece of data.
There will always be allocated space that is not being put to productive use, especially in C++. But they are nothing to a modern system so don't sweat over it.