1. tu utilise la chaine en dure "nom.txt" plutot que ta variable nom.

2. sprintf(nom, "%d", x); devrait plutot être sprintf(nom, "data_%d.txt", x);
Actuellement nom contient juste la valeur de x...