読み書きしたいんならよく使うのは"r+"か"w+"だと思う
tmpfile()はモード"wb+"で一時ファイルを作成してくれる

"w+"だと既存のファイルがあるならtruncateして作成する
"r+"はファイルがない場合は失敗する

読み書きを切り替えるときは間にfseek()/fsetpos()を挟むように汁