2010-02-15 6 views
3

Je dois créer des fichiers portant le même nom, mais avec un numéro attaché à la fin du nom de fichier pour indiquer qu'il s'agit du nième fichier créé. Ainsi, dans une boucle, je veux répéter ceci:créer des fichiers numérotés en C

char *filename = "file"; 
strcat(filename, i); // put the number i at the end of the filename 

Il est clair que ce n'est pas la façon de le faire, mais des idées quant à la façon dont je peux accomplir cette tâche?

Merci,
Hristo

Répondre

2

Que diriez-vous de quelque chose comme ceci?

char filename[256]; 
int i = 1; 

// codes omitted... 
sprintf(filename, "file%4d", i); 
+4

Mieux vaut utiliser '% 04d' que si vous aimez les espaces blancs dans les noms de fichiers – mouviciel

+0

@mouviciel oui, c'était ce que je voulais taper, mes doigts ne m'écoutaient pas. : P – shinkou

+0

merci beaucoup! – Hristo

3

sprintf() ou snprintf() avec "file%d".

+1

J'aurais été le premier s'il n'y avait pas la limite de réponse courte de SO (et le captcha si vous éditez trop vite). Grrr! :-) –

1

Vous pouvez utiliser sprintf.