第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在C語(yǔ)言中使用gets(buf);有警告是怎么回事?

在C語(yǔ)言中使用gets(buf);有警告是怎么回事?

qq_莫非 2017-09-22 12:57:14
?warning: implicit declaration of function ‘gets’ [-Wimplicit-function-declaration]? ? ? ? ?gets(buf);//獲取用戶輸入的字符串,存放到buf中? ? ? ? ?^/tmp/ccnxjoDy.o:在函數(shù)‘main’中:tcpclient.c:(.text+0x149): 警告: the `gets' function is dangerous and should not be used.#include?<stdio.h> #include?<unistd.h> #include?<strings.h> #include?<sys/types.h> #include?<sys/socket.h> #include?<netinet/in.h> #include?<netdb.h> #include?<stdlib.h> #include?<string.h> #define?PORT?1234 #define?MAXDATASIZE?100 int?main(int?argc,char?*argv[]) { ????//定義變量 ????int?sockfd,num,numw; ????char?buf[MAXDATASIZE]; ????struct?hostent?*he; ????struct?sockaddr_in?server; ????if(argc!=2) ????{ ????????printf("Usage:%s<IP?Address>\n",argv[0]); ????????exit(1); ????} ???? ????//域名解析 ????if((he=gethostbyname(argv[1]))==NULL) ????{ ????????printf("gethostbyname()?error\n"); ????????exit(1);???? ????} ????//創(chuàng)建套接字 ????if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1) ????{ ????????printf("socket()?error\n"); ????????exit(1);???? ????} ????//初始化 ????bzero(&server,sizeof(server)); ????server.sin_family=AF_INET; ????server.sin_port=htons(PORT); ????server.sin_addr=*((struct?in_addr?*)he->h_addr); ????//建立與服務(wù)器的連接 ????if(connect(sockfd,(struct?sockaddr?*)&server,sizeof(server))==-1) ????{ ????????printf("connect()?error\n"); ????????exit(1); ????} ????while(1){ ????????printf("Please?enter?a?string:\n"); ????????gets(buf);//獲取用戶輸入的字符串,存放到buf中 ????????if((numw=write(sockfd,buf,MAXDATASIZE))==-1){//將buf中的數(shù)據(jù)發(fā)送給服務(wù)器 ????????????printf("write?error.\n"); ????????????exit(1); ????????} ????????if((num=recv(sockfd,buf,MAXDATASIZE,0))==-1)//接收從服務(wù)器發(fā)回來(lái)的已經(jīng)反轉(zhuǎn)的字符串 ????????{ ????????????printf("recv()?error\n"); ????????????exit(1); ????????} ????????if(!strcmp(buf,"tuiq")) ????????????break; ????????buf[num-1]='\0'; ????????printf("The?reverse?message:\n%s\n",buf); ????} ????close(sockfd);//關(guān)閉套接字 }
查看完整描述

1 回答

已采納
?
_夕晨踏雪

TA貢獻(xiàn)40條經(jīng)驗(yàn) 獲得超16個(gè)贊

因?yàn)間ets函數(shù)可以無(wú)限讀取,除非遇到換行或者文件結(jié)束,緩存很容易溢出,因此是不安全的

查看完整回答
2 反對(duì) 回復(fù) 2017-09-22
  • 1 回答
  • 1 關(guān)注
  • 3919 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)