工学部に3年次編入をした方、編入後について、特に単位について色々知りたいので情報おねがいします。。
2 名前:名無しさん [2006/05/29(月) 13:25] _人人人人人人人人人人人人人人人_
> な、なんだってー!! <
 ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
∩___∩ ∩____∩
| ノ u ヽ / u u └| ∩____∩
/ # ● ● | | ● ● # .ヽ/ u └|
| u ( _●_) ミ 彡 (_●_ ) u |● ● # ヽ
彡、 |∪| 、`\ / |∪| 彡 (_●_) u |
/ __ ヽノ /´> ) ( く ヽ ノ / u |∪| ミ
(___) / (_/ \_ ) ( く ヽ ノ ヽ
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<netdb.h>
#include<stdlib.h>
int main(int argc, char *argv[])
{
unsigned int port = 5000;
unsigned int ret;
char message[10000];
char object[10000];
char line[10000];
char a;
int s;
int n;
struct sockaddr_in s_addr;
unsigned int *m_addr;
struct hostent *hp;
if((argc > 4)||(argc < 3))
{
printf("引数の数がおかしい\n");
return(-1);
}
/* IPアドレスを得る */
if((hp = gethostbyname(argv[1])) == NULL)
{
printf("Error1\n");
return 0;
}
/* ソケットの引数の設定 */
s_addr.sin_family = AF_INET;
s_addr.sin_port = htons(port);
bzero((char *) &s_addr.sin_addr, 12);
bcopy((char *)hp->h_addr, (char *) &s_addr.sin_addr, hp->h_length);
/* ソケットを作成する */
s = socket(s_addr.sin_family, SOCK_STREAM, 0);
if( s == -1){
printf("Error2\n");
return 0;
}
/* コネクションを確立させる */
if((connect(s,(struct sockaddr *) &s_addr, sizeof(s_addr))) == -1)
{
printf("Error3\n");
return 0;
}
/*メッセージを送信する*/
if(argc == 2){
sprintf(message, "%s", argv[2]);}
else{
sprintf(message, "%s %s", argv[2],argv[3]);}
if(*(argv[2]+1) == 'U'){
sprintf(message, "%s ", message);
printf("Upload %s\n",argv[3]);
FILE *fp = fopen(argv[3], "r");
if (fp == NULL) {
printf("File %s is not found.\n", argv[3]);
}
else {
printf("File %s is found.\n", argv[3]);
while (fgets(line, 1024, fp) != NULL) {
sprintf(message,"%s%s",message,line);
}
printf("Upload %s\n",argv[3]);
fclose(fp);
}
}
if( send(s, message, sizeof(message), 0) == -1){
printf("Error4\n");
return 0;
}
if(*(argv[2]+1) == 'D'){
printf("Download %s\n",argv[3]);
/*メッセージを受信する*/
if( recv(s, object, sizeof(object), 0) == -1){
printf("Error5\n");
return 0;
}
FILE *fp = fopen(argv[3], "w");
if (fp == NULL){
fprintf(stderr, "File open error %s.\n", argv[3]);
}
else{
fprintf(fp, "%s", object);
fclose(fp);
}
}
close(s);
return 0;
}
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<netdb.h>
#include<stdlib.h>
/* upコマンド(%U) */
void commandup (int s,char *filename) {
int i=0;
char name[1000];
while(*(filename+i) != ' '){
name[i]=*(filename+i);
i++;}
i ++;
FILE *fp = fopen(name, "w");
if (fp == NULL){
printf("File open error %s.\n", name);
}
else{
printf("Download %s\n",name);
fprintf(fp, "%s", filename+i);
fclose(fp);
}
}
/* downコマンド(%D) */
void commanddown (int s,char *filename) {
char line[10000];
char message[10000];
sprintf(message,"");
FILE *fp = fopen(filename, "r");
if (fp == NULL) {
sprintf(message,"File %s is not found.\n", filename);
if( send(s, message, sizeof(message), 0) == -1){
printf("Error5\n");
}
}
else {
printf("Upload %s\n",filename);
while (fgets(line, 1024, fp) != NULL) {
sprintf(message,"%s%s",message,line);
}
if( send(s, message, sizeof(message), 0) == -1){
printf("Error5\n");
}
fclose(fp);
}
}
nt main()
{
int PORT_NO = 5000;
int s,s2;
int len;
char message[10000];
char object[10000];
struct sockaddr_in sa,sa2;
memset((char*) &sa,0,sizeof(sa));
sa.sin_family = AF_INET;
sa.sin_addr.s_addr = htonl(INADDR_ANY);
sa.sin_port = htons(PORT_NO);
/* socket */
if((s = socket(PF_INET, SOCK_STREAM, 0)) == -1){
printf("Error0\n");
return 0;
}
/* bind */
if( bind(s ,(struct sockaddr *)&sa , sizeof(sa)) == -1){
printf("Error1\n");
return 0;
}
for(;;){
len = sizeof(sa2);
/* listen */
if( listen(s,5) == -1){
printf("Error2\n");
return 0;
}
/* accept */
s2 = accept(s,(struct sockaddr *)&sa2, &len);
if( s2 == -1){
printf("Error3\n");
return 0;
}
/*メッセージを受信する*/
if( recv(s2, message , sizeof(message), 0) == -1){
printf("Error4\n");
return 0;
}
/* 処理*/
if(message[0]== '%') {
printf("Command found\n");
switch (message[1]) {
case 'Q':
printf("Command Quit\n");
exit(0);
break;
case 'D':
commanddown(s2,&message[3]);
break;
case 'U':
commandup(s2,&message[3]);
break;
default:
send(s2,"Invalid command\n" , sizeof("Invalid command\n"), 0);
break;
}
}
}
close(s);
close(s2);
return 0;
}
書き込みをするには、注意書きをよく読んでからにしてください