C언어기초-_-; char int 변환 문제입니다..

esllo의 이미지

현재 macaddress라는 char[] 변수에는 값이 "00:FF:FF:AA:AA:55"가 들어 있습니다.
이걸.. unsigned char[6]크기에 넣을려고 하는데;
콜론은 빼구요,
변환 하려면 소스가 많이 길어질듯 하네요;
간단하게 바꿀수 있는 방법 없을까요?

uosarang의 이미지

저 값이 항상 같다면
00:FF:FF:AA:AA:55

0FFAA5로 줄여서 넣고

나중에 다시
00:FF:FF:AA:AA:55
로 펼치면 되겠네요.

머리를 굴려라! 그래야 먹고 산다.

bushi의 이미지

scanf() 가 딱이겠는데요.

OTL

ymir의 이미지

ether_aton() 함수를 쓰면 될 것 같네요.
(cf. ether_ntoa)

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

dragonkun의 이미지

strtok 로 : 을 기준으로 쪼갠 다음

각 토큰에 대해서
strtol(token,NULL,16) 을 하시면,될 것 같습니다.

strtol("FF",NULL,16) 하시면 255 라는 정수가 튀어나옵니다. 이걸 그냥 char에 넣으시면 되겠죠.
--
Emerging the World!

Emerging the World!