finalement j'ai reussi en passant par un fichier (en faisant un echo off %username% >c:\nouveau.txt et puis j'ai recuperer le nom de l'utilisateur en ouvrant le fichier) .
mais j'ai encore un autre probleme, je ne comprend pas vraiment l'utilisation des touches claviers... voici mon code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| void creation(char option[]) //char option[K] (ou K=50) avec option = c:\nouveau.txt
{
FILE *fic;
unsigned char c;
int q,compar;
char phrase[2];
char commande[K];
sprintf( commande, "echo off >%s", option );
system(commande);
q=0;
compar=0;
c = getch();
do
{
fic=fopen(option,"a");
fgets(phrase,50,stdin);
fprintf(fic,"%s",phrase);
fflush(stdin);
fclose(fic);
}
while(c=!33);
} |
en faites, avec ce code je veux faire un nouveau fichier (où le chemin et le nom son contenu dans la variable option). dans la boucle do, je veux prendre un morceau de ce que saisie l'utilisateur ( avec fgets) puis l'inserer dans le fichier txt. une fois les 50 caractere saisie,le fichier se ferme et s'ouvre de nouveau pour recommencer l'operation .
en resume :
l'utilisateur saisie ses 50 caracteres
==>> on place les caracteres saisie par l'utilisateur dans le fichier.txt
==>> l'utilisateur saisie de nouveau ses 50 caracteres
==>> on place les caracteres saisie par l'utilisateur dans le fichier.txt
==>>>et ainsi de suite
==>> tant que l'utilisateur n'appuie pas sur la touche correspondant a 33 (la condition du while)!.....
e probleme, c'est que sa ne marche pas !
les 50 premiers caracteres ( enfin un peu moins (2 ou 3 en moins )) sont bien saisie mais les autres non !
En plus, lorsque j'appuie sur la touche echap par exemple :
while(c=!X); //où X = le n° associé a la touche echap
Ca supprime la totalité de ce que l'utilisateur a saisie. Et pour quittter la boucle je dois appuieyer sur la touche entrer
Partager