net-server/client/func/trans_client.c
macbook-pro c87a8670ff use ggg
2023-12-25 16:58:57 +08:00

115 lines
1.8 KiB
C

void trans_client(){
char a;
a='2';
send(sockad,&a,1,0);
char b;
printf("send or get or quit?[S/G/Q]\n");
scanf("%c",&a);
printf("a is %c\n",a);
send(sockad,&a,1,0);
for(;a!='Q'&&a!='q';){
if(a=='S'||a=='s'){
trans_c_send();
}
else if(a=='G'||a=='g'){
trans_c_get();
}
scanf("%c",&b);
printf("send or get or quit?[S/G/Q]\n");
scanf("%c",&a);
scanf("%c",&b);
send(sockad,&a,1,0);
printf("a is %c\n",a);
}
}
void trans_c_send(){
printf("trans_c_send is running\n");
char *name;
char *s;
int num_name;
FILE *f;
int num_text=0;
char a;
char b;
name=(char *)malloc(sizeof(char)*128);
s=(char *)malloc(1024*sizeof(char));
memset(name,0,128*sizeof(char));
memset(s,0,1024*sizeof(char));
printf("input the name of file:");
scanf("%s",name);
num_name=strlen(name);
send(sockad,name,num_name,0);
f=fopen(name,"r+");
a=fgetc(f);
printf("opening file\n");
for(;a!=EOF;){
*(s+num_text)=a;
num_text++;
a=fgetc(f);
if(a==EOF){
b='Q';
printf("sending %s\n",s);
send(sockad,s,num_text,0);
// send(sockad,&b,1,0);
}
else if(num_text==1024){
b='A';
printf("sending %s\n",s);
send(sockad,s,num_text,0);
// send(sockad,&b,1,0);
memset(s,0,1024*sizeof(char));
}
}
fclose(f);
free(s);
free(name);
printf("exit trans\n");
}
void trans_c_get(){
char *name;
char *s;
name=(char *)malloc(sizeof(char)*128);
s=(char *)malloc(1024*sizeof(char));
int num_name;
memset(name,0,128*sizeof(char));
printf("input the name of file:");
scanf("%s",name);
num_name=strlen(name);
send(sockad,name,num_name,0);
free(name);
}
/*
void itc(int num_name,char *num_name_char){
int a;
int i;
int m;
for(i=0;i<3;i++){
m=2-i;
m=(int)pow(10,m);
a=num_name/m;
num_name=num_name-a*m;
num_name_char[i]=a+48;
}
}
*/