gilou Modérateur Modzilla | Donc deja, on va calculer la place necessaire:
nom->100 * 3 char
1-9->9 * 1 char
10-99->89 * 2 char
100->1 * 3 chars
blanc->99 * 1 char
0 final-> 1 * 1 char
Donc la chaine a besoin de 100*3 + 9*1 + 89*2 + 1*3 + 99*1 + 1*1 = 590
Donc tu vas faire un
Code :
- char scratch[8];
- char *name;
- int i;
- name = (char *) malloc (590*sizeof(char));
- *name = (char) 0;
- for (i=1; i <=100; i++)
- {
- sprintf(scratch,"name%i", i);
- strcat(name, scratch);
- if (i<100)
- strcat(name, " " );
- }
|
Si tu admet un blanc en fin de name, ca peut s'optimiser (590+1 blanc->591 dans le malloc):
Code :
- char scratch[9];
- char *name;
- int i;
- name = (char *) malloc (591*sizeof(char));
- *name = (char) 0;
- for (i=1; i <=100; i++)
- {
- sprintf(scratch,"name%i ", i);
- strcat(name, scratch);
- }
|
A+, ---------------
There's more than what can be linked! -- Iyashikei Anime Forever! -- AngularJS c'est un framework d'engulé! --
|