line 40 expected ; before void... if i put the semicolon after strcpy it gives me another error: expected primary expression before
also: invalid reinterpret_cast from type 'Registro' to type 'char*'
You need to go back to your textbooks and learn the correct syntax for calling a function. You're doing it wrong in several different places, in several different ways. This is absolutely fundamental to writing C++, so better you go to your textbook and make sure to learn it properly.
Syntax errors aside... you CANNOT read/write a Registro object directly to a binary file because it is a non-POD type. Doing so will have unexepected behavior and may cause your program to crash.
I explain why you can't do this... and also show examples of how to read/write binary files here: