두 개의 다른 함수 인 서버 IP 주소와 학생 ID에서 반환되는 두 값을 연결하려고합니다. 이러한 함수를 얻는 데 사용 된 함수는 서버에 액세스하기위한 void 함수입니다. strcat()
기능을 사용하고 싶지만 성공적으로 작동시키지 못합니다. 다음 코드는 서버에서 단일 값을 모두 성공적으로 반환합니다.strcat()를 사용하여 void 함수에서 수집 한 두 값을 연결합니다.
void get_ipaddress(void)
{
int fd;
struct ifreq ifr;
printf("IP Address:");
fd = socket(AF_INET, SOCK_DGRAM, 0);
/* I want to get an IPv4 IP address */
ifr.ifr_addr.sa_family = AF_INET;
/* I want an IP address attached to "eth0" */
strncpy(ifr.ifr_name, "eth0", IFNAMSIZ-1);
ioctl(fd, SIOCGIFADDR, &ifr);
close(fd);
/* Display result */
printf("%s\n", inet_ntoa(((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr));
}
void get_studentid(int socket)
{
char studentid[32];
size_t k;
readn(socket, (unsigned char *) &k, sizeof(size_t));
readn(socket, (unsigned char *) studentid, k);
printf("Student ID: %s\n", studentid);
} // end get_studentid()
I 출력을
192.168.229.128 얻기 위해 노력하고 있어요 : S1427722
내가 이전에 오류
,잘못된 사용을 반환 시도 코드를 공백 표현
여기서 strcat은 무엇입니까? – Sudhee
그것은 거기에 없어, 난 시행 착오를 사용하여 여러 가지 방법으로 strcat() 및 구현할 때마다, "식의 잘못된 사용"반환합니다, 3 시간 동안 그것을 그래서 어떤 구현을 몰랐다 –
아 - 두 포인터를 모두 반환하지는 않습니다. 그래서 당신은 strcat() 안에서 사용할 수 없다. – Sudhee