Not only this is invalid C++ (array size must be const), the value of a is undefined when the array is constructed.
Why aren't you using std::vector<bio>?
I do not see the necessity to use the vector in your code. It would be enough to define one object of the struct type that in loop to write its fields in the file.