Für asdf solltest du eine neue Textdatei erstellen, da du in deiner Funktion irgentwann:

file_str_read(string, filehandle);
schreiben müsstest. Und zwar dann, wenn der String an der Reihe ist.
Alternativ kannst du alle Zahlen als String(wie oben gezeigt) einlesen und dann mit:

if(str_to_num(String) != 0){tempa = str_to_num(String);}

in eine Zahl umwandeln.

Ich hoffe du verstehst, wie ich das meine und das funktioniert dann auch!

Ciao