Also erst einmal aufpassen: atoi wandelt eine char* Zeichenkette mit Ziffern in einen Integer (Ascii to Integer). Aber Du willst ja den anderen Weg gehen: Integer to Ascii, also itoa. Und das kannst Du natürlich auch mittels puts dann schreiben. Also etwas wie fputs(itoa(a->artikelnr, ziel);
Aber da brauchst Du dann mehrere Befehle.
Wenn Es nicht C sein muss sondern auch C++, dann kannst Du generell auch Streams verwenden. http://www.cplusplus.com/doc/tutorial/files/
Das macht es noch einmal einfacher.
Darf an fragen, was Du da genau treibst? Ist es eine reine C Sache? Oder darf es C++ sein? Und dürfen es Libraries sein? Wenn Das Studium ist und mit C Datentypen implementiert werden sollen, dann entfällt der Punkt jetzt natürlich. Bezüglich Projekte wäre aber mein Hinweis:
Wenn Du wirklich mit C++ entwickeln willst (und da einen aktuellen Standard nutzen willst und kannst), dann schau dir auf jeden Fall Boost an. Und wenn Du nicht so gerne im Browser Dokumentation lesen willst, dann kauf das PDF bei https://theboostcpplibraries.com/ - die Autoren freut es ...
Was genau willst Du jetzt machen? Wie sieht die Methode generell aus? Was soll zurück gegeben werden? Von dem Ausschnitt her sieht es so aus, dass root weder als Referenz noch als Zeiger auf Zeiger übergeben wurde ... Daher soll vermutlich nicht das gelöschte Element zurück gegeben werden. Dann brauchst Du evtl. gar kein temp, denn du gibst dann ja direkt einen Wert zurück. Aber mir fehlt im Augenblick der Überblick, was Du da gerade im Code treibst. Das waren bisher immer nur kurze Blicke auf den Code .... evtl. kann ich da aber morgen einmal genauer drauf schauen. Evtl. kannst Du ja mal deine Implementation geben, dann kann ich auch lokal anpassen und ausprobieren - das reduziert die Fehlerwahrscheinlichkeit bei Hinweisen.