Re: [問題] gcc編譯出現未定義strupr錯誤
※ 引述《kg3363 (深藍)》之銘言:
: 如題~
: 在CentOs使用gcc編譯出現
: updserver.c:(.text+0x2ed): undefined reference to `strupr'
: 請問各位高手~該如何解決~感恩~謝謝^^~
以下是我的原始碼
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<netdb.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
#define BUFFER_SIZE 1024
char* strupr(char *orgstr);
int main(int argc, char **argv){
int sock,length,fromlen,retval;
struct sockaddr_in srvaddr,fromaddr;
char fromip[40];
int fromport;
char buffer[BUFFER_SIZE];
char echobuf[BUFFER_SIZE];
if(argc<2){
fprintf(stderr,"Usage:%s port\n",argv[1]);
exit(1);
}
sock=socket(PF_INET,SOCK_DGRAM,0);
if(sock<0){
fprintf(stderr,"Datagram Socket開啟失敗!!\n",argv[1]);
exit(1);
}
length=sizeof(srvaddr);
bzero(&srvaddr,length);
srvaddr.sin_family=PF_INET;
srvaddr.sin_addr.s_addr=INADDR_ANY;
srvaddr.sin_port=htons(atoi(argv[1]));
if(bind(sock,(struct sockaddr*)&srvaddr,length)<0){
fprintf(stderr,"Socket Bind 錯誤,無法連結 Port:%d",atoi(argv[1]));
exit(1);
}
fromlen=sizeof((struct sockaddr_in)fromaddr);
while(1){
fprintf(stdout,"等待UDP訊息到來...\n");
bzero(&buffer,BUFFER_SIZE);
bzero(&fromaddr,fromlen);
retval=recvfrom(sock,buffer,BUFFER_SIZE,0,(struct
sockaddr*)&fromaddr,&fromlen);
if(retval<0){
fprintf(stderr,"recvfrom function 發生錯誤,無法接收UDP訊息!!\n");
exit(1);
}
bzero(&fromip,20);
strcpy(fromip,inet_ntoa(fromaddr.sin_addr));
fromport=ntohs(fromaddr.sin_port);
fprintf(stdout,"接收UDP訊息:%s[來至%s:%d]\n",buffer,fromip,fromport);
bzero(&echobuf,BUFFER_SIZE);
strcpy(echobuf,strupr(buffer));
retval=sendto(sock,echobuf,BUFFER_SIZE,0,(struct
sockaddr*)&fromaddr,fromlen);
if(retval<0){
fprintf(stderr,"Sendto function 發生錯誤,無法傳送UDP訊息!!\n");
exit(1);
}
fprintf(stderr,"回應UDP訊息:%s[送至%s:%d]\n",echobuf,fromip,fromport);
}
close(sock);
exit(0);
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.30.109.133
→
11/23 02:34, , 1F
11/23 02:34, 1F
→
11/23 02:34, , 2F
11/23 02:34, 2F
→
11/23 02:35, , 3F
11/23 02:35, 3F
推
11/23 12:31, , 4F
11/23 12:31, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):