xiluoc un pc pour les unirs .... | ,
jai 4 fonctions
Code :
- void login(FILE *send, FILE *read)
- {
- int length;
- char c;
- //Get the user, by calling the unix function whoami
- system("whoami > tmp" );
- .... //blabla
- fprintf(send,"%s",command);
- fflush(send);
- while ((c = fgetc(read)) != EOF) { putchar(c); }
- printf("\n" );
- }
- void logout(FILE *send, FILE *read)
- {
- int length;
- char c;
- char command[128]="LOGOUT";
- length = strlen(command);
- command[length]=0xff;
- fprintf(send,"%s",command);
- fflush(send);
- while ((c = fgetc(read)) != EOF) { putchar(c); }
- printf("\n" );
- }
- void dir(FILE *send, FILE *read)
- {
- int length;
- char c;
- char command[128]="DIR";
- length = strlen(command);
- command[length]=0xff;
- fprintf(send,"%s",command);
- fflush(send);
- while ((c = fgetc(read)) != EOF) { putchar(c); }
- printf("\n" );
- }
- void gettext(FILE *send, FILE *read, char *string)
- {
- int length;
- char c;
- char command[128]="GETTEXT ";
- strcat (command,string);
- length = strlen(command);
- command[length] = 0xff;
- fprintf(send,"%s",command);
- fflush(send);
- FILE *out = fopen (string,"w+" );
- int len;
- char buffer[1024];
- while((len = fread(buffer,1,sizeof(buffer),read)) > 0)
- {
- fwrite(buffer,1,len,out);
- }
- fclose(out);
- //while ((c = fgetc(read)) != EOF) { putchar(c); }
- //printf("\n" );
- }
|
Elle marchent toutes lorsquelle sont lancee individulement.
LOGIN DIR LOGOUR marche aussi
par contre la ou sa coince cest
LOGIN DIR GETTEXT filex LOGOUT
la reponse du DIR est integre dans GETTEXT car je me retrouve a la sortie du fichier out (dans la fonciton GETTEXT) avec ca :
vi scorex
Code :
- -rw------- 1 cp341 comp 2490 Mar 1 2002 test.binary^M
- -rw------- 1 cp341 comp 2335 Mar 5 2002 test.text^M
- -rw-r--r-- 1 cp341 unit 1413 Mar 10 10:45 score70^M
- ACK Opened file OK\3771 Thu Mar 10 10:45:09 2005 Connect^M
- 1 Thu Mar 10 10:45:10 2005 LOGIN cmd^M
- 1 Thu Mar 10 10:44:12 2005 LOGOUT cmd^M
- 0 GETTEXT cmd^M
- 0 PUTTEXT cmd^M
- 0 GETBINARY cmd^M
- 0 PUTBINARY cmd^M
- 1 Thu Mar 10 10:44:12 2005 DIR cmd^M
- 0 DELETE cmd^M
- 1 Thu Mar 10 10:20:37 2005 Fetch score^M
- 0 busy handling^M
- 0 fetch and return test.binary^M
- 0 fetch and return test.text^M
- 0 replace a file^M
- 0 put text twice^M
- 0 fetch binary twice^M
- 0 mixed operations^M
- 0 delete two or more^M
- 0 fetch test.text as text and return it as binary^M
- 0 fetch test.binary as binary and return it as text^M
- Total 5^M
- **** Server timed out ****\377
- ~
- ~
- ~
- ~
- ~
- ~
- ~
- ~
- ~
- ~
- ~
- ~
- ~
- ~
- "score70" [Incomplete last line] 25 lines, 1678 characters (2 null)
|
le listing est au debut alors qu il devriat etre afficher a lecran, pas dans le ficier, j imagine donc que la fonction GETTEXT est lance avant que DIR resoit ca reponse
quelle est la methode a suivre dans ce cas ?
Message édité par xiluoc le 10-03-2005 à 00:53:47
|