免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1598 | 回复: 7
打印 上一主题 下一主题

请问各路大侠,此程序要如何编译??? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-02-19 11:38 |只看该作者 |倒序浏览
我的程序是这样的!!!
cat pp.c
/*此程序用于向指定IP地址机器发送指定文件*/
/*20020902*/
#include<stdio.h>;
#include<string.h>;
#include<stdlib.h>;
#include<curses.h>;
#include<sys/types.h>;
#include<sys/wait.h>;
#include<net/libftp.h>;

char remote_dir[50]="/usr/test/yq"; /*远程目录名*/
char simple_filename[50]; /*单文件下发文件名*/
char mulite_filename[7][50];
/*多文件下发文件名*/
void draw_main_menu_box(char *menu[],int x,int y,int standout_x);
void draw_send_menu_box(char *menu[],int x,int y,int standout_x,WINDOW *screen);
void draw_send_menu_mulite_box(WINDOW *screen);
void draw_send_menu_third_box(char *menu[],int x,int y,int standout_x, WINDOW *screen);
int send_file(int x,int *point,int flag,WINDOW *screen_second, WINDOW *screen_third);

int main()
{
int main_menu_ch ;
int send_menu_first_ch ;
int send_menu_second_ch ;
int send_menu_third_ch ;
int main_menu_next=1 ;
int send_menu_first_next=1 ;
int send_menu_second_next=1 ;
int send_menu_third_next=1 ;
int main_menu_start_x=4 ;
int main_menu_start_y=24 ;
int main_menu_standout_x=4 ;
int send_menu_first_start_x=1 ;
int send_menu_first_start_y=10 ;
int send_menu_first_standout_x=1 ;
int send_menu_second_start_x=1 ;
int send_menu_second_start_y=9 ;
int send_menu_second_standout_x=1 ;
int send_menu_third_start_x ;
int send_menu_third_start_y ;
int send_menu_third_standout_x ;
int *point_third_next ;
char *main_menu_menu[]={" 下发文件至各市行 "," 接收各市分行文件 ", " 配置远程指定目录 "," 配置各市行IP地址 ", " 拷贝文件至本目录 "};
char *send_menu_first_menu[]={" 单个文件下发 "," 多个文件下发 ", " 返回上级菜单 "};
char *send_menu_second_menu[]={" 单市行文件下发 "," 全市行文件下发 ", " 返回上一级菜单 "};
char *send_menu_third_menu[]={" 苏 州 "," 无 锡 "," 常 州 ", " 镇 江 "," 扬 州 "," 南 通 ", " 徐 州 "," 淮 安 "," 盐 城 ", " 连 云 港 "," 南 京 "," 宿 迁 ", " 泰 州 "};
WINDOW *send_menu;
WINDOW *send_menu_second;
WINDOW *send_menu_mulite;
WINDOW *send_menu_third;

initscr();
cbreak();
noecho();
nonl();
keypad(stdscr,TRUE);

draw_main_menu_box(main_menu_menu,main_menu_start_x,main_menu_start_y, main_menu_standout_x);
while (main_menu_next) /*主菜单循环等待*/
{
main_menu_ch=getch();
switch(main_menu_ch)
{
case 27:
endwin();
exit(1);
break;
case KEY_DOWN:
main_menu_standout_x+=2;
if (main_menu_standout_x>;12)
main_menu_standout_x=4;
draw_main_menu_box(main_menu_menu,main_menu_start_x,main_menu_start_y, main_menu_standout_x);
break;
case KEY_UP:
main_menu_standout_x-=2;
if (main_menu_standout_x<4)
main_menu_standout_x=12;
draw_main_menu_box(main_menu_menu,main_menu_start_x,main_menu_start_y, main_menu_standout_x);
break;
case '\r': /*回车进入二级菜单*/
switch(main_menu_standout_x)
{
case 4: /*一级菜单--下发至各市行被选中*/
send_menu_first_start_x=1;
send_menu_first_start_y=10;
send_menu_first_standout_x=1;
send_menu_first_next=1;
send_menu=newwin(10,40,6,20);
draw_send_menu_box(send_menu_first_menu,send_menu_first_start_x, send_menu_first_start_y, send_menu_first_standout_x,send_menu);
touchwin(send_menu);
wrefresh(send_menu); /*弹出二级菜单*/
while (send_menu_first_next)
{
send_menu_first_ch=getch();
switch(send_menu_first_ch)
{
case 27: /*返加一级菜单*/
send_menu_first_next=0;
touchwin(stdscr);
wrefresh(stdscr);
break;
case KEY_DOWN: /*二级菜单光标下移*/
send_menu_first_standout_x+=2;
if (send_menu_first_standout_x>;5)
send_menu_first_standout_x=1;
draw_send_menu_box(send_menu_first_menu, send_menu_first_start_x, send_menu_first_start_y, send_menu_first_standout_x,send_menu);
wrefresh(send_menu);
break;
case KEY_UP: /*二级菜单光标上移*/
send_menu_first_standout_x-=2;
if (send_menu_first_standout_x<1)
send_menu_first_standout_x=5;
draw_send_menu_box(send_menu_first_menu, send_menu_first_start_x, send_menu_first_start_y, send_menu_first_standout_x,send_menu);
wrefresh(send_menu);
break;
case '\r': /*二级菜单回车*/
switch(send_menu_first_standout_x)
{
case 1: /*二级菜单--单个文件下发被选中*/
mvwaddstr(send_menu,7,2,"文件名: ";
wrefresh(send_menu);
echo();
wgetstr(send_menu,simple_filename);/*输入文件名*/
noecho();
draw_send_menu_box(send_menu_first_menu, send_menu_first_start_x, send_menu_first_start_y, send_menu_first_standout_x,send_menu);
wrefresh(send_menu);
send_menu_second_start_x=1;
send_menu_second_start_y=9;
send_menu_second_standout_x=1;
send_menu_second_next=1;
send_menu_second=newwin(10,40,8,24);/*弹出三级菜单*/
draw_send_menu_box(send_menu_second_menu, send_menu_second_start_x, send_menu_second_start_y, send_menu_second_standout_x, send_menu_second);
touchwin(send_menu_second);
wrefresh(send_menu_second);
while (send_menu_second_next)
{
send_menu_second_ch=getch();
switch(send_menu_second_ch)
{
case KEY_DOWN: /*三级菜单光标下移*/
send_menu_second_standout_x+=2;
if (send_menu_second_standout_x>;5)
send_menu_second_standout_x=1;
draw_send_menu_box(send_menu_second_menu, send_menu_second_start_x, send_menu_second_start_y, send_menu_second_standout_x, send_menu_second);
wrefresh(send_menu_second);
break;
case KEY_UP: /*三级菜单光标上移*/
send_menu_second_standout_x-=2;
if (send_menu_second_standout_x<1)
send_menu_second_standout_x=5;
draw_send_menu_box(send_menu_second_menu, send_menu_second_start_x, send_menu_second_start_y, send_menu_second_standout_x, send_menu_second);

wrefresh(send_menu_second);
break;
case 27: /*退出三级菜单,返回二级菜单*/
send_menu_second_next=0;
touchwin(send_menu);
wrefresh(send_menu);
break;
case '\r': /*三级菜单回车*/
switch(send_menu_second_standout_x)
{
case 1: /*三级菜单--单市行文件下发被选中*/
send_menu_third_start_x=0;
send_menu_third_start_y=5;
send_menu_third_standout_x=0;
send_menu_third_next=1;
send_menu_third=newwin(15,20,10,2;
/*弹出四级菜单--各市分行名称*/
draw_send_menu_third_box(send_menu_third_menu, send_menu_third_start_x, send_menu_third_start_y, send_menu_third_standout_x, send_menu_third);
while (send_menu_third_next)
{
send_menu_third_ch=getch();
switch(send_menu_third_ch)
{
case KEY_DOWN: /*四级菜单光标下移*/
send_menu_third_standout_x+=1;
if (send_menu_third_standout_x>;12)
send_menu_third_standout_x=0;
draw_send_menu_third_box( send_menu_third_menu, send_menu_third_start_x, send_menu_third_start_y, send_menu_third_standout_x, send_menu_third);
break;
case KEY_UP: /*四级菜单光标上移*/
send_menu_third_standout_x-=1;
if (send_menu_third_standout_x<0)
send_menu_third_standout_x=12;
draw_send_menu_third_box( send_menu_third_menu, send_menu_third_start_x, send_menu_third_start_y, send_menu_third_standout_x, send_menu_third);
break;
case '\r':/*四级菜单--**市行被回车选中*/
point_third_next=&amp;send_menu_third_next;
send_file(send_menu_third_standout_x, point_third_next,1, send_menu_second, send_menu_third);
break;
case 27: /*退出四级菜单--返回三级菜单*/
send_menu_third_next=0;
werase(send_menu_third);
wrefresh(send_menu_third);
touchwin(send_menu_second);
wrefresh(send_menu_second);
break;
}
}
break;
case 3: /*三级菜单--全市行文下发被选中*/
send_file(send_menu_second_standout_x, &amp;send_menu_second_next,2, send_menu_second,send_menu_second);
break;
case 5: /*退出三级菜单--返加二级菜单*/
send_menu_second_next=0;
touchwin(send_menu);
wrefresh(send_menu);
break;
}
break;
}
}

break;
case 3: /*二级菜单--多个文件下发被选中*/
send_menu_mulite=newwin(10,40,10,22);
/*弹出输入7个文件名菜单*/
draw_send_menu_mulite_box(send_menu_mulite);
touchwin(send_menu);
wrefresh(send_menu);
send_menu_second_start_x=1;
send_menu_second_start_y=9;
send_menu_second_standout_x=1;
send_menu_second_next=1;
send_menu_second=newwin(10,40,7,24);
/*弹出三级菜单*/
draw_send_menu_box(send_menu_second_menu, send_menu_second_start_x, send_menu_second_start_y, send_menu_second_standout_x, send_menu_second);
touchwin(send_menu_second);
wrefresh(send_menu_second);
while (send_menu_second_next)
{
send_menu_second_ch=getch();
switch(send_menu_second_ch)
{
case KEY_DOWN: /*三级菜单光标下移*/
send_menu_second_standout_x+=2;
if (send_menu_second_standout_x>;5)
send_menu_second_standout_x=1;
draw_send_menu_box(send_menu_second_menu, send_menu_second_start_x, send_menu_second_start_y, send_menu_second_standout_x, send_menu_second);
wrefresh(send_menu_second);
break;
case KEY_UP: /*三级菜单光标上移*/
send_menu_second_standout_x-=2;
if (send_menu_second_standout_x<1)
send_menu_second_standout_x=5;
draw_send_menu_box(send_menu_second_menu, send_menu_second_start_x, send_menu_second_start_y, send_menu_second_standout_x, send_menu_second);

wrefresh(send_menu_second);
break;
case 27: /*退出三级菜单,返回二级菜单*/
send_menu_second_next=0;
touchwin(send_menu);
wrefresh(send_menu);
break;
case '\r': /*三级菜单回车*/
switch(send_menu_second_standout_x)
{
case 1: /*三级菜单--单市行文件下发被选中*/
send_menu_third_start_x=0;
send_menu_third_start_y=5;
send_menu_third_standout_x=0;
send_menu_third_next=1;
send_menu_third=newwin(15,20,10,2;
/*弹出四级菜单--各市分行名称*/
draw_send_menu_third_box(send_menu_third_menu, send_menu_third_start_x, send_menu_third_start_y, send_menu_third_standout_x, send_menu_third);
while (send_menu_third_next)
{
send_menu_third_ch=getch();
switch(send_menu_third_ch)
{
case KEY_DOWN: /*四级菜单光标下移*/
send_menu_third_standout_x+=1;
if (send_menu_third_standout_x>;12)
send_menu_third_standout_x=0;
draw_send_menu_third_box( send_menu_third_menu, send_menu_third_start_x, send_menu_third_start_y, send_menu_third_standout_x, send_menu_third);
break;
case KEY_UP: /*四级菜单光标上移*/
send_menu_third_standout_x-=1;
if (send_menu_third_standout_x<0)
send_menu_third_standout_x=12;
draw_send_menu_third_box( send_menu_third_menu, send_menu_third_start_x, send_menu_third_start_y, send_menu_third_standout_x, send_menu_third);
break;
case '\r':/*四级菜单--**市行被回车选中*/
point_third_next=&amp;send_menu_third_next;
send_file(send_menu_third_standout_x, point_third_next,3, send_menu_second, send_menu_third);
break;
case 27: /*退出四级菜单--返回三级菜单*/
send_menu_third_next=0;
werase(send_menu_third);
wrefresh(send_menu_third);
touchwin(send_menu_second);
wrefresh(send_menu_second);
break;
}
}
break;
case 3: /*三级菜单--全市行文下发被选中*/
break;
case 5: /*退出三级菜单--返加二级菜单*/
send_menu_second_next=0;
touchwin(send_menu);
wrefresh(send_menu);
break;
}
break;
}
}
break;
case 5: /*二级菜单--返回上级菜单被选中*/
send_menu_first_next=0;
touchwin(stdscr);
wrefresh(stdscr);
break;
}
break;
}
}
break;
case 6: /*一级菜单--接收各市分行文件被选中*/
mvaddstr(14,20,"此功能尚未开通,按任意键返回";
getch();
draw_main_menu_box(main_menu_menu,main_menu_start_x, main_menu_start_y,main_menu_standout_x);
break;
case 8: /*一级菜单--配置远程指定目录被选中*/
mvaddstr(14,20,"目录名: ";
echo();
getstr(remote_dir);
noecho();
draw_main_menu_box(main_menu_menu,main_menu_start_x, main_menu_start_y,main_menu_standout_x);
break;
case 10: /*一级菜单--配置本机指定目录被选中*/
mvaddstr(14,20,"此功能尚未开通,按任意键返回";
getch();
draw_main_menu_box(main_menu_menu,main_menu_start_x, main_menu_start_y,main_menu_standout_x);
break;
case 12: /*一级菜单--配置各市行IP地址被选中*/
mvaddstr(14,20,"文件拷贝成功,按任意键继续..";
endwin();
system("tar xv";
wrefresh(stdscr);
getch();
draw_main_menu_box(main_menu_menu,main_menu_start_x, main_menu_start_y,main_menu_standout_x);
break;
}
}
}
}
void draw_main_menu_box(char *menu[],int x,int y,int standout_x)
{
int i;

mvaddstr(2,19,"****日常文件下发(接收)程序****";
mvaddstr(3,18,"┌──────────────┐";
mvaddstr(4,18,"│ │";
mvaddstr(5,18,"│ │";
mvaddstr(6,18,"│ │");
mvaddstr(7,18,"│ │");
mvaddstr(8,18,"│ │");
mvaddstr(9,18,"│ │");
mvaddstr(10,18,"│ │");
mvaddstr(11,18,"│ │");
mvaddstr(12,18,"│ │");
mvaddstr(13,18,"├──────────────┤");
mvaddstr(14,18,"│ │");
mvaddstr(15,18,"└──────────────┘");

for (i=0;i<10;i+=2)
mvaddstr(x+i,y,menu[i/2]);
standout();
mvaddstr(standout_x,y,menu[(standout_x-4)/2]);
standend();
}
void draw_send_menu_box(char *menu[],int x,int y,int standout_x,WINDOW *screen)
{
int i;

mvwaddstr(screen,0,0,"┌────────────────┐");
mvwaddstr(screen,1,0,"│ │");
mvwaddstr(screen,2,0,"│ │");
mvwaddstr(screen,3,0,"│ │");
mvwaddstr(screen,4,0,"│ │");
mvwaddstr(screen,5,0,"│ │");
mvwaddstr(screen,6,0,"├────────────────┤");
mvwaddstr(screen,7,0,"│ │");
mvwaddstr(screen,8,0,"└────────────────┘");

for (i=0;i<6;i+=2)
mvwaddstr(screen,x+i,y,menu[i/2]);
wstandout(screen);
mvwaddstr(screen,standout_x,y,menu[(standout_x-1)/2]);
wstandend(screen);
}

void draw_send_menu_mulite_box(WINDOW *screen)
{
int i;

mvwaddstr(screen,0,0,"┌────────────────┐");
mvwaddstr(screen,1,0,"│ │");
mvwaddstr(screen,2,0,"│ │");
mvwaddstr(screen,3,0,"│ │");
mvwaddstr(screen,4,0,"│ │");
mvwaddstr(screen,5,0,"│ │");
mvwaddstr(screen,6,0,"│ │");
mvwaddstr(screen,7,0,"│ │");
mvwaddstr(screen,8,0,"└────────────────┘");
mvwaddstr(screen,1,3,"文件名1:");
mvwaddstr(screen,2,3,"文件名2:");
mvwaddstr(screen,3,3,"文件名3:");
mvwaddstr(screen,4,3,"文件名4:");
mvwaddstr(screen,5,3,"文件名5:");
mvwaddstr(screen,6,3,"文件名6:");
mvwaddstr(screen,7,3,"文件名7:");
touchwin(screen);
wrefresh(screen);
echo();
mvwgetstr(screen,1,12,mulite_filename[0]);
mvwgetstr(screen,2,12,mulite_filename[1]);
mvwgetstr(screen,3,12,mulite_filename[2]);
mvwgetstr(screen,4,12,mulite_filename[3]);
mvwgetstr(screen,5,12,mulite_filename[4]);
mvwgetstr(screen,6,12,mulite_filename[5]);
mvwgetstr(screen,7,12,mulite_filename[6]);
noecho();
werase(screen);
wrefresh(screen);
}
void draw_send_menu_third_box(char *menu[],int x,int y,int standout_x, WINDOW *screen)
{
int i;

mvwaddstr(screen,0,0,"┌────────┐");
mvwaddstr(screen,1,0,"│ │");
mvwaddstr(screen,2,0,"│ │");
mvwaddstr(screen,3,0,"│ │");
mvwaddstr(screen,4,0,"│ │");
mvwaddstr(screen,5,0,"│ │");
mvwaddstr(screen,6,0,"│ │");
mvwaddstr(screen,7,0,"│ │");
mvwaddstr(screen,8,0,"│ │");
mvwaddstr(screen,9,0,"│ │");
mvwaddstr(screen,10,0,"│ │");
mvwaddstr(screen,11,0,"│ │");
mvwaddstr(screen,12,0,"│ │");
mvwaddstr(screen,13,0,"│ │");
mvwaddstr(screen,14,0,"└────────┘");
for (i=0;i<13;i++)
mvwaddstr(screen,x+i+1,y,menu);
wstandout(screen);
mvwaddstr(screen,standout_x+1,y,menu[standout_x]);
wstandend(screen);
touchwin(screen);
wrefresh(screen);
}

int send_file(int x,int *point,int flag, WINDOW *screen_second,WINDOW *screen_third)
{
char city_name[6];
char city_code[6];
char city_user[20];
char city_passwd[20];
char city_address[20];
int int_city;
int status;
int tmp=1;
pid_t pid;
FILE *city_point;
FTPINFO ftpinfo;

switch (flag)
{
case 1:
if ((city_point=fopen("CITY.INI","r"))==NULL)
{
werase(screen_third);
wrefresh(screen_third);
*point=0;
touchwin(screen_second);
mvwaddstr(screen_second,7,2,"打开CITY.INI文件错!");
wrefresh(screen_second);
fclose(city_point);
return -1;
}
while ((fscanf(city_point,"%s%s%s%s%s",city_name,city_address, city_user,city_passwd,city_code)!=EOF))
{
if (x==(atoi(city_code)))
break;
}
if (x!=(atoi(city_code)))
{
werase(screen_third);
wrefresh(screen_third);
*point=0;
touchwin(screen_second);
mvwaddstr(screen_second,7,2,"地址配置有误!");
wrefresh(screen_second);
fclose(city_point);
return -100;
}
if ((pid=fork())<0)
{
werase(screen_third);
wrefresh(screen_third);
*point=0;
touchwin(screen_second);
mvwaddstr(screen_second,7,2,"fork()进程错!");
wrefresh(screen_second);
fclose(city_point);
return -101;
} /*FORK错时退出*/
else if (pid==0)
{ /*开始子进程*/
ftpinfo.debug=0;
ftpinfo.transf_calc=0;
ftpinfo.linger=0;
if (ftp_prconnect(&amp;ftpinfo,city_address)<0)
{
werase(screen_third);
wrefresh(screen_third);
*point=0;
touchwin(screen_second);
mvwaddstr(screen_second,7,2,"ftp主机地址错!");
wrefresh(screen_second);
fclose(city_point);
exit(-1);
}
if (ftp_user(&amp;ftpinfo,city_user)<0)
{
werase(screen_third);
wrefresh(screen_third);
*point=0;
touchwin(screen_second);
mvwaddstr(screen_second,7,2,"ftp时用户名错!");
wrefresh(screen_second);
fclose(city_point);
exit(-1);
}
if (ftp_passwd(&amp;ftpinfo,city_passwd)<0)
{
werase(screen_third);
wrefresh(screen_third);
*point=0;
touchwin(screen_second);
mvwaddstr(screen_second,7,2,"ftp时密码错!");
wrefresh(screen_second);
fclose(city_point);
exit(-1);
}
if (ftp_binary(&amp;ftpinfo)<0)
{
werase(screen_third);
wrefresh(screen_third);
*point=0;
touchwin(screen_second);
mvwaddstr(screen_second,7,2,"ftp时设置二进制方式错!");
wrefresh(screen_second);
fclose(city_point);
exit(-1);
}
if (ftp_chdir(&amp;ftpinfo,remote_dir)<0)
{
werase(screen_third);
wrefresh(screen_third);
*point=0;
touchwin(screen_second);
mvwaddstr(screen_second,7,2,"ftp时进入远程目录错!");
wrefresh(screen_second);
fclose(city_point);
exit(-1);
}
if (ftp_putfile(&amp;ftpinfo,simple_filename,simple_filename)<0)
{
werase(screen_third);
wrefresh(screen_third);
*point=0;
touchwin(screen_second);
mvwaddstr(screen_second,7,2,"ftp传送文件错!");
wrefresh(screen_second);
fclose(city_point);
exit(-1);
}
ftp_bye(&amp;ftpinfo);
}
if ((pid=waitpid(pid,&amp;status,0))<0)
{
werase(screen_third);
wrefresh(screen_third);
*point=0;
//touchwin(screen_second);
//mvwaddstr(screen_second,7,2,"等待进程退出错!");
//wrefresh(screen_second);
exit(0);
}
fclose(city_point);
werase(screen_third);
wrefresh(screen_third);
*point=0;
touchwin(screen_second);
mvwaddstr(screen_second,7,2,"文件发送成功! ");
wrefresh(screen_second);
break;
case 2:
if ((city_point=fopen("CITY.INI","r"))==NULL)
{
mvwaddstr(screen_second,7,2,"打开CITY.INI文件错! ");
wrefresh(screen_second);
fclose(city_point);
return -1;
}
while ((fscanf(city_point,"%s%s%s%s%s",city_name,city_address, city_user,city_passwd,city_code)!=EOF))
{
if ((pid=fork())<0)
{
mvwaddstr(screen_second,7,2,"fork()进程错! ");
wrefresh(screen_second);
fclose(city_point);
return -101;
} /*FORK错时退出*/
else if (pid==0)
{ /*开始子进程*/
ftpinfo.debug=0;
ftpinfo.transf_calc=0;
ftpinfo.linger=0;
if (ftp_prconnect(&amp;ftpinfo,city_address)<0)
{
mvwaddstr(screen_second,7,2,"ftp主机地址错! ");
wrefresh(screen_second);
fclose(city_point);
exit(-1);
}
if (ftp_user(&amp;ftpinfo,city_user)<0)
{
mvwaddstr(screen_second,7,2,"ftp时用户名错! ");
wrefresh(screen_second);
fclose(city_point);
exit(-1);
}
if (ftp_passwd(&amp;ftpinfo,city_passwd)<0)
{
mvwaddstr(screen_second,7,2,"ftp时密码错! ");
wrefresh(screen_second);
fclose(city_point);
exit(-1);
}
if (ftp_binary(&amp;ftpinfo)<0)
{
mvwaddstr(screen_second,7,2,"ftp时设置二进制方式错! ");
wrefresh(screen_second);
fclose(city_point);
exit(-1);
}
if (ftp_chdir(&amp;ftpinfo,remote_dir)<0)
{
mvwaddstr(screen_second,7,2,"ftp时进入远程目录错! ");
wrefresh(screen_second);
fclose(city_point);
exit(-1);
}
if (ftp_putfile(&amp;ftpinfo,simple_filename,simple_filename)<0)
{
mvwaddstr(screen_second,7,2,"ftp传送文件错! ");
wrefresh(screen_second);
fclose(city_point);
exit(-1);
}
ftp_bye(&amp;ftpinfo);
}
if ((pid=waitpid(pid,&amp;status,0))<0)
{
//mvwaddstr(screen_second,7,2,"等待进程退出错!");
//wrefresh(screen_second);
exit(0);
}
mvwprintw(screen_second,7,2,"%s发送成功! ",city_name);
wrefresh(screen_second);
}
fclose(city_point);
mvwaddstr(screen_second,7,2,"全部市行文发送成功! ");
wrefresh(screen_second);
break;
case 3:
break;
case 4:
break;
}
}


我在sco5.05下
cc pp.c -o pp -lcurses -lftp
但没能通过,为何?要怎样才能成功呢???
我在编译时出现以下信息:
undefined                       first referenced
symbol                             in file
socket                              /usr/lib/libftp.a
setsockopt                          /usr/lib/libftp.a
bind                                /usr/lib/libftp.a
getsockname                         /usr/lib/libftp.a
listen                              /usr/lib/libftp.a
inet_ntoa                           /usr/lib/libftp.a
accept                              /usr/lib/libftp.a
getservbyname                       /usr/lib/libftp.a
inet_addr                           /usr/lib/libftp.a
gethostbyname                       /usr/lib/libftp.a
connect                             /usr/lib/libftp.a
i386ld fatal: Symbol referencing errors. No output written to pp

论坛徽章:
0
2 [报告]
发表于 2003-02-19 12:02 |只看该作者

请问各路大侠,此程序要如何编译???

加上-lsocket试试

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2003-02-19 12:04 |只看该作者

请问各路大侠,此程序要如何编译???

对!就是少它。

论坛徽章:
0
4 [报告]
发表于 2003-02-19 14:08 |只看该作者

请问各路大侠,此程序要如何编译???

cc pp.c -o pp -lcurses -lftp -lsocket

论坛徽章:
0
5 [报告]
发表于 2003-02-22 16:07 |只看该作者

请问各路大侠,此程序要如何编译???

是啊,缺了-lsocket
我再请问,要怎样配置CITY.INI文件,才能运用该程序,格式是怎样的?
谢了.......!!!

论坛徽章:
0
6 [报告]
发表于 2003-02-24 20:33 |只看该作者

请问各路大侠,此程序要如何编译???

原帖由 "GM" 发表:
是啊,缺了-lsocket
我再请问,要怎样配置CITY.INI文件,才能运用该程序,格式是怎样的?
谢了.......!!!

论坛徽章:
0
7 [报告]
发表于 2003-02-26 12:58 |只看该作者

请问各路大侠,此程序要如何编译???

原帖由 "GM" 发表:
是啊,缺了-lsocket
请问,要怎样配置CITY.INI文件,才能运用该程序,格式是怎样的?
谢了.......!!!

论坛徽章:
0
8 [报告]
发表于 2003-02-26 15:27 |只看该作者

请问各路大侠,此程序要如何编译???

程序是你自己写的
应该怎样配置也是只有你自己知道

另外
写代码时使用code功能
并对齐
那么回答的人会更多一点

不然看起来那么乱
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP